问题是在promise then()中找不到(this.form.tasks没有其他数据) 与axios.all。 在承诺之外有效,但在内部无效。我收到错误消息:
未捕获(承诺)TypeError:无法读取null的属性“ form”
axios.all([
axios.get('/tasks/'+this.token_proj),
axios.get('/keywords/'+this.token_proj),
axios.get('/getTasks/'+this.token_proj),
axios.get(`/discussion/${this.token_proj}/${this.form.page}`)
])
.then(axios.spread(function (tasksResponse, keywordsResponse,getTasksResponse,discResponse) {
console.log('tasks', tasksResponse.data);
console.log('keyword', keywordsResponse.data);
console.log('getrask', getTasksResponse.data);
console.log('disc', discResponse.data);
this.form.tasks = tasksResponse.data;
}));
task变量在数据中设置并且存在。我使用Vuejs和axios vform。
data(){
return{
form: new Form({
tasks:[],
tasks_management:[],
discuss:{},
users:[],
keywords:[],
})
}
}
答案 0 :(得分:0)
考虑使用this
在匿名回调中保留fat arrow function
的范围,而不是使用别名this
:
.then(axios.spread((tasksResponse, keywordsResponse,getTasksResponse,discResponse) => {
//this is now scoped correctly.
}))