我正在进行API调用并返回(预期的)错误。我可以控制日志记录错误消息但我似乎无法使用响应设置vuejs数据变量。我做错了什么?
data: {
...
...
errors: null
},
methods: {
checkConnections: function (event) {
axios.post('/checkconnections', {
//form data is passed here
...
...
})
.then(function (response) {
console.log(response);
}).catch(function (error) {
console.log(error.response.data.error);
this.errors = error.response.data.error;
});
}
}
console.log(error.response.data.error)
部分正常,但作业this.errors = error.response.data.error;
却没有。有什么想法吗?
答案 0 :(得分:3)
catch处理程序中的this
值不是您所期望的。解决该问题的最简单方法是使用像.catch(error => { this.errors = error.response.data.error; })
这样的箭头函数。
如果您的环境不允许使用ES6功能,则可以改为使用Function.bind(this)。