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


Posted in Javascript onNovember 05, 2019

项目背景

在主文件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里的函数不执行问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js直接编辑当前cookie的脚本
Sep 14 Javascript
Aptana调试javascript图解教程
Nov 30 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
JS字符串处理实例代码
Aug 05 Javascript
让table变成exls的示例代码
Mar 24 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
jQuery+ajax实现实用的点赞插件代码
Jul 06 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
vue2.0在table中实现全选和反选的示例代码
Nov 04 Javascript
vue-prop父组件向子组件进行传值的方法
Mar 01 Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 Javascript
vue input标签通用指令校验的实现
Nov 05 #Javascript
vue子传父关于.sync与$emit的实现
Nov 05 #Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 #Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
Nov 05 #Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 #Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 #Javascript
vue 解决路由只变化参数页面组件不更新问题
Nov 05 #Javascript
You might like
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP读取Excel类文件
2017/05/15 PHP
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
jquery的attr方法禁用表单元素禁用输入内容
2014/06/23 Javascript
Augularjs-起步详解
2016/07/08 Javascript
Three.js快速入门教程
2016/09/09 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
ng-repeat指令在迭代对象时的去重方法
2018/10/02 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
Python之PyUnit单元测试实例
2014/10/11 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python -v 报错问题的解决方法
2020/09/15 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
关于h5中的fetch方法解读(小结)
2017/11/15 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
柯基袜:Corgi Socks
2017/01/26 全球购物
开朗女孩的自我评价
2014/02/10 职场文书
四风自我剖析材料
2014/09/30 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
青年教师个人总结
2015/02/11 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
MyBatis在注解上使用动态SQL方式(@select使用if)
2022/07/07 Java/Android