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 相关文章推荐
弹出广告特效(一个IP只弹出一次)的代码
Jul 27 Javascript
超棒的javascript页面顶部卷动广告效果
Dec 01 Javascript
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
Apr 13 Javascript
jQuery.buildFragment使用方法及思路分析
Jan 07 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
Bootstrap插件全集
Jul 18 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
Oct 31 Javascript
总结几道关于Node.js的面试问题
Jan 11 Javascript
jQuery实现使用sort方法对json数据排序的方法
Apr 17 jQuery
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
Sep 18 Javascript
JS实现音乐钢琴特效
Jan 06 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 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+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php微信开发之百度天气预报
2016/11/18 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
js解决select下拉选不中问题
2014/10/14 Javascript
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
JavaScript数组各种常见用法实例分析
2015/08/04 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
scrapy爬虫实例分享
2017/12/28 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
django-filter和普通查询的例子
2019/08/12 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
python使用协程实现并发操作的方法详解
2019/12/27 Python
django中ImageField的使用详解
2020/12/21 Python
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
小学生自我评价范文
2014/01/25 职场文书
个人简历中自我评价
2014/02/11 职场文书
高一学生期末评语
2014/04/25 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
怎样写离婚协议书
2014/09/10 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
小学体育课教学反思
2016/02/16 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers