欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Vue实例中,setTimeout()不生效怎么解决

程序员文章站 2022-03-21 08:49:09
在做项目的时候,setTimeout(),setTimeout(fuction(){},1000),不生效。找了一圈某度也没找到合适的方法,就自己写了一个。setTimeout(function(){ this.$router.go(-1);},500);函数是执行了,但是0.5秒后没有执行任何操作,后来找了资料, setTimeou() 方法用于在指定毫秒数后调用函数或计算表达式 setTimeout(code,millisec)其中,code,必需,要调用的函数后要执行的JavaScrip...

在做项目的时候,setTimeout(),setTimeout(fuction(){},1000),不生效。找了一圈某度也没找到合适的方法,就自己写了一个。(最后有彩蛋)

setTimeout(function(){
  this.$router.go(-1);
},500);

函数是执行了,但是0.5秒后没有执行任何操作,后来找了资料, setTimeou() 方法用于在指定毫秒数后调用函数或计算表达式 setTimeout(code,millisec)

其中,code,必需,要调用的函数后要执行的JavaScript代码串。

知道问题所在了,那解决方案是?对,最简单就是定义一个函数,去暂存this,然后再改变变量的值。

let _this = this;
setTimeout(function(){
  _this.$router.go(-1);
},500);

this指向data内对应变量

在某yinz的指导下,发现使用es6箭头函数更快捷了,减少一半的代码量,分享一下

setTimeout( () => {
  this.$router.go(-1);
},500);

完美解决。希望对大家有用。

本文地址:https://blog.csdn.net/ht370671963/article/details/110921189