vue路由跳转:

setTimeout(function () {
console.log(this);
this.$router.push("/login");
},800)

语法没问题但是报错:

MyFollow.vue?c93c:119 Uncaught TypeError: Cannot read property 'push' of undefined

这时候说明this指向不一样了,要打印一下this 看看。
发现setTimeout函数里的this指向的不是vue对象而是window,改为箭头函数即可解决

settimeout 的function会改变this指向并指向全局window,如果不改变this指向 ,这里要使用箭头函数
setTimeout(()=>{
this.$router.push("/login");
},100)

 

相关文章:

  • 2021-08-17
  • 2021-03-03
  • 2021-07-24
  • 2021-12-04
  • 2022-12-23
  • 2022-12-23
  • 1970-01-01
猜你喜欢
  • 2021-09-08
  • 2022-12-23
  • 2022-12-23
  • 2023-04-05
  • 2022-12-23
  • 2021-07-28
  • 2021-08-05
相关资源
相似解决方案