浅谈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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
十个优秀的Ajax/Javascript实例网站收集
Mar 31 Javascript
flexigrid 类似ext grid的JS表格代码
Jul 17 Javascript
javascript强制点击广告的方法
Feb 06 Javascript
jQuery实现三级菜单的代码
May 09 Javascript
Vue渲染函数详解
Sep 15 Javascript
vue-cli之router基本使用方法详解
Oct 17 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
p5.js入门教程之鼠标交互的示例
Mar 16 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
详解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
BBS(php & mysql)完整版(二)
2006/10/09 PHP
smarty的保留变量问题
2008/10/23 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
基于zepto.js实现手机相册功能
2017/07/11 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
python发送邮件示例(支持中文邮件标题)
2014/02/16 Python
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Sanic框架Cookies操作示例
2018/07/17 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
基于python实现删除指定文件类型
2020/07/21 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
人事部主管岗位职责
2013/12/26 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
土木建筑学生自我评价
2014/01/14 职场文书
大学老师推荐信
2014/02/25 职场文书
公司新年寄语
2014/04/04 职场文书
爱国演讲稿500字
2014/05/04 职场文书
三年级学生期末评语
2014/12/26 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
开学第一天的感想
2015/08/10 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
Spring中的@Transactional的工作原理
2022/06/05 Java/Android
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技