使用VueJS路由时设置超时错误

时间:2017-04-28 17:00:17

标签: javascript vue.js vue-router

我正在使用VueJS,我想将数据推送到服务器,然后更改路由。

我试过这个:

saveSupportArea: function () {
  this.toast("success");
  var that = this;
  setTimeout(function(that){
    that.$router.push('/areas/');
  }, 3000);
});

但是我收到了这个错误:

  

未捕获的TypeError:无法读取未定义的属性'$ router'

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

不要将that作为传递给setTimeout的匿名函数的参数传递。

这样做可以有效地重置匿名函数范围内的that,因为您再次将其定义为函数的参数。该函数从未被赋予参数,因此它是undefined,这意味着that在尝试访问undefined属性时为$router