首页 >> js开发 >> jsvue 解决setTimeOut和setInterval函数无效报错的问题js大全
jsvue 解决setTimeOut和setInterval函数无效报错的问题js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
1.在vue项目中的js代码语法与之前使用js和jquery还是有所出入的,现遇到一个点击按钮出现倒计时30S的效果相信大家对着两个函数都陌生,就是一个定时器,setTimeOut只执行一次,而setInterval会重复执行需要注意的是:在setInterval不用的时候一定要用clearSetInterval关闭定时器。2.按照最原始的倒计时效果,实现如下:
//获取30s 控制操作倒计时
time(){
if(this.timeWait <= 0){
this.timeWait = 0;
return;
}else{
this.timeWait--;
}
setTimeout(function(){
this.time();
}, 1000)
},
//获取30s 控制操作倒计时
time(){
if(this.timeWait <= 0){
this.timeWait = 0;
return;
}else{
this.timeWait--;
}
setTimeout(function(){
this.time();
}, 1000)
},
此处出现了错误,报错信息为time未定义,此处对于定时器方法其实并没有错3.原因是 老生常谈的javaScript 的this 的问题。因为用的一个
function(){
}
function(){}这里的 独立的作用域 this指向了全局(这里是window)而且window里没有time这个函数报了错。4.用过vue的朋友应该,基本vue中都是this.XXX这样写。这里的this是Vue对象。所以为了使this正确指向vue,我用了ES6的尖头函数。
setTimeout(() => {
this.time();
}, 1000)
setTimeout(() => {
this.time();
}, 1000)尖头函数因为它的特殊性,它的this指向它外层的对象。补充知识:Vue使用Element UI,校验不生效补充知识:补充知识:Vue使用Element UI,校验不生效vue中v-model=v-bind+v-on(@)所以习惯使用v-model今天使用Element UI 的el-form发现el-input无论填什么值校验都过不了,百思不解最后把v-model改为:model解决然后看了下文档,确实使用的是:model绑定真是个弱智的问题以上这篇vue 解决setTimeOut和setInterval函数无效报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。
//获取30s 控制操作倒计时
time(){
if(this.timeWait <= 0){
this.timeWait = 0;
return;
}else{
this.timeWait--;
}
setTimeout(function(){
this.time();
}, 1000)
},
//获取30s 控制操作倒计时
time(){
if(this.timeWait <= 0){
this.timeWait = 0;
return;
}else{
this.timeWait--;
}
setTimeout(function(){
this.time();
}, 1000)
},
此处出现了错误,报错信息为time未定义,此处对于定时器方法其实并没有错3.原因是 老生常谈的javaScript 的this 的问题。因为用的一个
function(){
}
function(){}这里的 独立的作用域 this指向了全局(这里是window)而且window里没有time这个函数报了错。4.用过vue的朋友应该,基本vue中都是this.XXX这样写。这里的this是Vue对象。所以为了使this正确指向vue,我用了ES6的尖头函数。
setTimeout(() => {
this.time();
}, 1000)
setTimeout(() => {
this.time();
}, 1000)尖头函数因为它的特殊性,它的this指向它外层的对象。补充知识:Vue使用Element UI,校验不生效补充知识:补充知识:Vue使用Element UI,校验不生效vue中v-model=v-bind+v-on(@)所以习惯使用v-model今天使用Element UI 的el-form发现el-input无论填什么值校验都过不了,百思不解最后把v-model改为:model解决然后看了下文档,确实使用的是:model绑定真是个弱智的问题以上这篇vue 解决setTimeOut和setInterval函数无效报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考。
相关文章:
- js代码javascript实现时间日期的格式化的方法汇总
- jsvant 自定义 van-dropdown-item的用法js大全
- jsJS事件循环机制event loop宏任务微任务原理解析js大全
- js解决vue addRoutes不生效问题js大全
- jsvue 解决addRoutes多次添加路由重复的操作js大全
- jsvue相同路由跳转强制刷新该路由组件操作js大全
- jsantd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作js大全
- jsvue实现在进行增删改操作后刷新页面js大全
- js解决vue项目input输入框双向绑定数据不实时生效问题js大全
- js代码详解vue路由,js详解vue路由