如何在Vue中使用setTimeout

时间:2017-11-03 09:02:21

标签: vue.js

我是Vue.js的新手。如何在Vue.js中使用setTimeout?

这是我要暂停的地方

dataReq.end((err, resp) => {
            resp = JSON.parse(resp.text)
            if (resp.status) {
              setTimeout(this.$router.push, 10000)(this.breadcrumbs[2].path)
            }
          })

2 个答案:

答案 0 :(得分:0)

你这样做是这样的:

dataReq.end((err, resp) => {
        resp = JSON.parse(resp.text)
        if (resp.status) {
          setTimeout(() => {
              this.$router.push(this.breadcrumbs[2].path);
          }, 10000)
        }
      })

setTimeout将超时后执行的函数作为第一个参数,$router.push()将路径作为参数,猜测this.breadcrumbs[2].path是一个有效的路径

答案 1 :(得分:0)

您可能在引用this方面遇到问题,请尝试这样做。

dataReq.end((err, resp) => {
    resp = JSON.parse(resp.text);
    if (resp.status) {
        var vm = this;
        setTimeout(function() {
            console.log("Do somthing here");
            // this is now referencing to setTimeout function, so use vm referenced above
            console.log(vm.breadcrumbs[2].path);
        }, 100);
    }
});