浅谈vue 组件中的setInterval方法和window的不同


Posted in Javascript onJuly 30, 2020

vue组件中,this指向实例,【实例中重写了setInterval等一整套方法】。所以,千万不能和 window 下挂载的方法混用

具体不同在于,window.setInterval执行完比后返回一个id,而vue实例中返回【定时器对象】,当然该对象中包含一个_id的私有属性

因为 clearInterval 方法参数是id,所以最佳实践是统一使用 window 的方法,不要使用 vue组件的方法

vue中的定时器方法,要使用箭头函数,不要出现 const that = this 的写法

//正确的用法
mounted() {
 // 如果不加 window ,则会使用 vue实例的方法,将无法清除定时器
 this.timer = window.setInterval(() => {
  this.date = new Date();
 }, 2000);
 console.log(this.timer);//number
},
methods: {
 clearTimer() {
  window.clearInterval(this.timer);
  this.timer = null;
 }
}

补充知识:vue 切换页面 setInterval

vue 是单页面应用,路由切换后,定时器并不会自动关闭,需要手动清除,当页面被销毁时,清除定时器即可。

mounted(){
   clearInterval(this.timer);
   this.setTimer();
  },
  destroyed(){
  clearInterval(this.timer)
 }

以上这篇浅谈vue 组件中的setInterval方法和window的不同就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个背景云变换js特效 鼠标移动背景云变化
Dec 28 Javascript
jQuery取id有.的值的方法
May 21 Javascript
jquery控制select的text/value值为选中状态
Jun 03 Javascript
使用text方法获取Html元素文本信息示例
Sep 01 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
JS根据生日算年龄的方法
May 05 Javascript
常用的Javascript设计模式小结
Dec 09 Javascript
如何判断出一个js对象是否一个dom对象
Nov 24 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
Dec 29 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
详解JavaScript自定义函数
Jul 29 #Javascript
深入了解JavaScript词法作用域
Jul 29 #Javascript
vue监听dom大小改变案例
Jul 29 #Javascript
VUE实时监听元素距离顶部高度的操作
Jul 29 #Javascript
详解JavaScript作用域 闭包
Jul 29 #Javascript
Angular+ionic实现折叠展开效果的示例代码
Jul 29 #Javascript
Vue 监听元素前后变化值实例
Jul 29 #Javascript
You might like
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
ThinkPHP实现分页功能
2017/04/28 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
HTML-CSS群中单选引发的“事件”
2007/03/05 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
2013/12/27 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
JavaScript阻止浏览器返回按钮的方法
2015/03/18 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
Jquery鼠标放上去显示全名的实现方法
2017/02/06 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
jQuery 控制文本框自动缩小字体填充
2017/06/16 jQuery
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
微信小程序完美解决scroll-view高度自适应问题的方法
2020/08/08 Javascript
[02:33]DOTA2英雄基础教程 司夜刺客
2013/12/04 DOTA
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python使用QQ邮箱发送Email的方法实例
2017/02/09 Python
Python解惑之整数比较详解
2017/04/24 Python
python reduce 函数使用详解
2017/12/05 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python中返回矩阵的行列方法
2018/04/04 Python
PyQt5每天必学之进度条效果
2018/04/19 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
技校毕业生自荐信
2014/06/03 职场文书
六一儿童节活动总结
2014/08/27 职场文书
2015年组织部工作总结
2015/04/03 职场文书