标签:hack ror this 上下 bind 匿名函数 form 词法 blog
1.解决办法在vue中使用axios做网络请求的时候,会遇到this不指向vue,而为undefined,可以使用箭头函数"=>"来解决。如下:
methods: {
loginAction(formName) {
this.$axios.post(‘http://127.0.0.1/u/subLogin‘, {
username: this.username,
password: this.password
})
.then(function(response){
console.log(this); //这里 this = undefined
})
.catch((error)=> {
console.log(error); //箭头函数"=>"使this指向vue
});
});
}
}
ES6中的 箭头函数 "=>" 内部的this是词法作用域,由上下文确定(也就是由外层调用者vue来确定)。
使用"=>"函数,就可以告别之前的两种写法了:
var _this= this;
:
loginAction(formName) {
var _this= this;
this.$axios.post("...")
.then(function(response){
console.log(_this); //这里 _this 指向vue
})
});
}
标签:hack ror this 上下 bind 匿名函数 form 词法 blog
原文地址:http://blog.51cto.com/13523664/2060428