关于vue中this指向的一些问题?

clipboard.png

这个地方会报cannot read property push of undefined 。这个this好像指向的不是vue实例了。

在callMethod外面定义
var _this=this
因为在方法内部this指向的就变了。

下面再用:
_this.$router.push('home/baby')

阅读 6.3k
1 个回答

JS中的this是运行时确定的。

function f() {
  console.log(this);
}

var obj = {};

f(); // Window;
f.apply(obj);  // obj

回到问题:
由于complete是jsonp的回调函数,所以,他的运行时是这样调用的window.complete。 可以看jsonp请求的返回。所以咯,complete中的this是Window,并不是Vue。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题