浅谈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 相关文章推荐
使用Post提交时须将空格转换成加号的解释
Jan 14 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
JavaScript中的单引号和双引号报错的解决方法
Sep 01 Javascript
AngularJS中的过滤器使用详解
Jun 16 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
highcharts 在angular中的使用示例代码
Sep 20 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
Dec 20 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
Dec 22 Javascript
小程序实现单选多选功能
Nov 04 Javascript
js中怎么判断两个字符串相等的实例
Jan 17 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 Javascript
vue3.0中setup使用(两种用法)
Dec 02 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 _autoload自动加载类与机制分析
2012/02/10 PHP
php中namespace及use用法分析
2016/12/06 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
js获取location.href的参数实例代码
2013/08/02 Javascript
JS仿百度搜索自动提示框匹配查询功能
2013/11/21 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
2015/12/22 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
jQuery列表检索功能实现代码
2017/07/17 jQuery
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
python数组过滤实现方法
2015/07/27 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python模块之re正则表达式详解
2017/02/03 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
python编写计算器功能
2019/10/25 Python
学习python需要有编程基础吗
2020/06/02 Python
python request 模块详细介绍
2020/11/10 Python
美国校园市场:OCM
2017/06/08 全球购物
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
护理专科毕业生自荐书范文
2014/02/19 职场文书
违纪学生保证书
2015/02/27 职场文书
中标通知书
2015/04/17 职场文书
2015仓库保管员年终工作总结
2015/05/13 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python