vue 解决setTimeOut和setInterval函数无效报错的问题


Posted in Javascript onJuly 30, 2020

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)

 },

此处出现了错误,报错信息为time未定义,此处对于定时器方法其实并没有错

3.原因是 老生常谈的javaScript 的this 的问题。

因为用的一个

function(){

}

这里的 独立的作用域 this指向了全局(这里是window)而且window里没有time这个函数报了错。

4.用过vue的朋友应该,基本vue中都是this.XXX这样写。这里的this是Vue对象。

所以为了使this正确指向vue,我用了ES6的尖头函数。

setTimeout(() => {
  this.time();
}, 1000)

尖头函数因为它的特殊性,它的this指向它外层的对象。

补充知识: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函数无效报错的问题

以上这篇vue 解决setTimeOut和setInterval函数无效报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
jquery.validate使用攻略 第一部
Jul 01 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
JavaScript调用ajax获取文本文件内容实现代码
Mar 28 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
JavaScript通过join函数连接数组里所有元素的方法
Mar 20 Javascript
浅谈Javascript中Object与Function对象
Sep 26 Javascript
React.js入门学习第一篇
Mar 30 Javascript
巧用jQuery选择器提高写表单效率的方法
Aug 19 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 #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
You might like
php中的三元运算符使用说明
2011/07/03 PHP
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2011/12/05 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
CI框架附属类用法分析
2018/12/26 PHP
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
详细分析vue表单数据的绑定
2020/07/20 Javascript
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
分享15个最受欢迎的Python开源框架
2014/07/13 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
预订全球最佳旅行体验:Viator
2018/03/30 全球购物
用C语言实现文件读写操作
2013/10/27 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
教师专业理论水平的自我评价分享
2013/11/09 职场文书
优秀员工自荐书
2013/12/19 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
出国留学经济担保书
2014/04/01 职场文书
工地质量标语
2014/06/12 职场文书
离婚协议书范本样本
2014/08/19 职场文书
建设工程授权委托书
2014/09/22 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
实习报告范文
2019/07/30 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android