这个地方会报cannot read property push of undefined 。这个this好像指向的不是vue实例了。
在callMethod外面定义
var _this=this
因为在方法内部this指向的就变了。
下面再用:
_this.$router.push('home/baby')
高洛峰2017-04-11 12:56:27
JS中的this是运行时确定的。
function f() {
console.log(this);
}
var obj = {};
f(); // Window;
f.apply(obj); // obj
回到问题:
由于complete
是jsonp的回调函数,所以,他的运行时是这样调用的window.complete
。 可以看jsonp请求的返回。所以咯,complete
中的this是Window,并不是Vue。