您好,欢迎来到吉趣旅游网。
搜索
您的当前位置:首页解决vue项目F5刷新mounted里的函数不执行问题

解决vue项目F5刷新mounted里的函数不执行问题

来源:吉趣旅游网
解决vue项⽬F5刷新mounted⾥的函数不执⾏问题

项⽬背景

在主⽂件index.vue中初始化页⾯相关的操作,

在mounted中放置⽤户权限判断并更新store中的权限值,当点击相应组件时mounted可正常⼯作,但是在⽤户⼿动刷新时mounted内的函数并未执⾏,导致相应组件未获取到权限⽽显⽰异常问题解决

⾸先,这跟vue⽣命周期有关,图就不贴了,直接说原因。

当⽤户f5刷新页⾯时,整个页⾯会重新去请求,js的状态变量消失,但是el节点并未重新建⽴。

因为,mounted是el被新创建的vm.$el替换,并挂载到实例上去之后调⽤的钩⼦,此处el并未重新挂载,故该钩⼦函数不会被调⽤。

此处可以将⽤户权限判断的⽅法根据实际情况写在beforeMount或created中常见的钩⼦触发事件beforeCreate

在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调⽤。数据和实例都不能访问created

实例已经创建完成之后被调⽤。在这⼀步,实例已完成以下的配置:数据观测(data observer),属性和⽅法的运算,watch/event 事件回调。然⽽,挂载阶段还没开始,$el 属性⽬前不可见。数据可以访问,实例不可访问beforeMount

在挂载开始之前被调⽤:相关的 render 函数⾸次被调⽤。

DOM挂载前,数据可访问,实例$el为虚拟DOM节点,不可访问,数据还未插⼊DOM中mounted

el 被新创建的 vm.el替换,并挂载到实例上去之后调⽤该钩⼦。此时 el 替换,并挂载到实例上去之后调⽤该钩⼦。此时el替换,并挂载到实例上去之后调⽤该钩⼦。此时el为真实的DOM元素beforeUpdate

数据更新时调⽤,发⽣在虚拟 DOM 重新渲染和打补丁之前。 你可以在这个钩⼦中进⼀步地更改状态,这不会触发附加的重渲染过程。updated数据更新之后。

由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调⽤该钩⼦。

当这个钩⼦被调⽤时,组件 DOM 已经更新,所以你现在可以执⾏依赖于 DOM 的操作。然⽽在⼤多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新⽆限循环。该钩⼦在服务器端渲染期间不被调⽤。beforeDestroy

实例销毁之前调⽤。此时实例还可以使⽤destroyed

Vue 实例销毁后调⽤。此时Vue实例指⽰的所有东西都会解绑定,所有的事件会被移除,所有的⼦实例也会被销毁。

该钩⼦在服务器端渲染期间不被调⽤。

以上这篇解决vue项⽬F5刷新mounted⾥的函数不执⾏问题就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务