vue mounted 调用两次的完美解决办法


Posted in Javascript onOctober 29, 2018

在开发中发现其中一个页面moutned调用了两次,而其他页面正常,表示很懵逼,然后查找原因,终于找到了,其实归根到底是要知道mounted的调用机制问题;

vue mounted 调用两次的完美解决办法

情况:在这个页面中出现了mounted 加载了两次的情况;

方法:排除法

首先把 this.$store.commit() 方法注释掉,发现就好了,只加载一次

初步判断是commit  方法导致的

二  验证判断是否正确,不使用commit 方法,该用直接改变变量状态的方法,发现又加载了两次;

再次判断,不是由于commit引起的

三   猜想commit到底实现了什么逻辑,然后找到了v-if  

v-if会重新渲染页面,而mounted 又是在重新渲染完成之后调用的,所以猜想是v-if导致的

然后换成v-show 发现完美解决问题;

v-show 不会重新加载页面,仅仅是显示隐藏而已; 

vue mounted 调用两次的完美解决办法

从网上找来的生命周期图,各位网友可以了解一下,希望给你带来一些启发;

vue mounted 调用两次的完美解决办法 

PS:下面看下mounted函数调用技巧

为了确保dom成功渲染,利用setTimeout()

mounted() {
 setTimeout(() => {
  this._setSliderWidth()
  this._initDots()
  this._initSlider()

  if (this.autoPlay) {
   this._play()
  }
 }, 20)}

浏览器的刷新通常是17毫秒一次,所以这里用了20毫秒

总结

以上所述是小编给大家介绍的vue mounted 调用两次的完美解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript面象对象成员、共享成员变量实验
Nov 19 Javascript
JQuery动态给table添加、删除行 改进版
Jan 19 Javascript
js关闭子窗体刷新父窗体实现方法
Dec 04 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
微信小程序 网络API发起请求详解
Nov 09 Javascript
Asp.Net之JS生成分页条的方法
Nov 23 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
详解React Native网络请求fetch简单封装
Aug 10 Javascript
vue实现底部菜单功能
Jul 24 Javascript
vue 实现移动端键盘搜索事件监听
Nov 06 Javascript
JQuery获得内容和属性方法解析
May 30 jQuery
Electron中实现大文件上传和断点续传功能
Oct 28 #Javascript
JS 正则表达式验证密码、邮箱格式的实例代码
Oct 28 #Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 #Javascript
深入浅析javascript函数中with
Oct 28 #Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 #Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 #Javascript
javascript中函数的写法实例代码详解
Oct 28 #Javascript
You might like
谨慎使用PHP的引用原因分析
2012/09/06 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
php单文件版在线代码编辑器
2015/03/12 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
javascript document.images实例
2008/05/27 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
微信小程序实现天气预报功能
2018/07/18 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
vue以组件或者插件的形式实现throttle或者debounce
2019/05/22 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
python实现三次样条插值
2018/12/17 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
Python实现动态循环输出文字功能
2020/05/07 Python
世界上最大的折扣香水店:FragranceNet.com
2016/10/26 全球购物
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
城市精细化管理实施方案
2014/03/04 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
canvas多重阴影发光效果实现
2021/04/20 Javascript