解决nuxt页面中mounted、created、watch执行两遍的问题


Posted in Javascript onNovember 05, 2020

前言:

在开发中偶然检查Network请求的时候发现,在页面中created钩子函数中请求了一个接口,但是页面这个页面加载的时候,接口会连续请求两边,然后我就排查是否有其他地方调用了同样的接口,检查了好几遍后发现并没有,WTF,然后我在created中打印了一下,惊奇的发现。。。created会执行两次打印。。。

WTF、WTF、WTF,小朋友你是否有很多问号???,然后试了下,不光created会执行两遍,mounted也行,就连watch里面监听的也会,握草(草是一种植物),此处省略我咔咔排查了一个小时各种删除各种排查的步骤。。。

得出以下结论:

第一种:

页面布局不合理,会导致执行两遍,比如行内元素内嵌套了块级元素,然后块级元素又使用了for,或者if,要想排查是否是这种情况,只能一点点删除代码,看看删除了那一块的代码后不再执行两遍,然后从病根出排查修改。

第二种:

有使用v-if和v-else的结合也会执行两遍,这种的我测试了下,把v-if都改成v-show。。。就TM的好了。

第三种:

我在页面中使用了swiper,发现。。。swiper的代码也会触发执行两遍,应该是swiper的代码触发了规则,然后我在swiper组件使用一个div包裹了一下。。。发现好了,无语,毫无规则可言

第四种:

还未发现,,,欢迎评论增加

最后:

此文章使用了较多的**修饰词,请原谅。。。因为那种你想象不到的问题原因着实让人。不说了,求个赞吧!!!

补充知识:vue.js页面加载执行created,mounted先后顺序

created页面加载未渲染html之前执行。

mounted渲染html后再执行。

由于created在html模板生产之前所以无法对Dom进行操作而mounted可以。

以上这篇解决nuxt页面中mounted、created、watch执行两遍的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
JavaScript入门教程(12) js对象化编程
Jan 31 Javascript
javascript DOM编程实例(智播客学习)
Nov 23 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
Dec 12 Javascript
微信小程序 支付功能开发错误总结
Feb 21 Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 jQuery
关于axios不能使用Vue.use()浅析
Jan 12 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
Nov 05 #Javascript
如何利用vue实现波谱拟合详解
Nov 05 #Javascript
关于Vue中$refs的探索浅析
Nov 05 #Javascript
JavaScript 实现轮播图特效的示例
Nov 05 #Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
Nov 05 #Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 #Javascript
JavaScript TAB栏切换效果的示例
Nov 05 #Javascript
You might like
ThinkPHP采用模块和操作分析
2011/04/18 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
laravel 5.3 单用户登录简单实现方法
2019/10/14 PHP
DOM 基本方法
2009/07/18 Javascript
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
[01:30]2016国际邀请赛中国区预选赛神秘商店火爆开启
2016/06/26 DOTA
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
python实现下载pop3邮件保存到本地
2018/06/19 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
通过实例了解python property属性
2019/11/01 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
通过一张图教会你CSS3倒影的实现
2017/09/26 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
优秀村官事迹材料
2014/01/10 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
高中运动会广播稿
2015/08/19 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫