未捕获(在承诺中)TypeError:无法在 vue.js 中的 eval 中设置未定义的属性?
2019-07-17
3946
我试图用从服务器 API(一个 json)获取的值来设置我的空对象。 但我在同一行上一次又一次地收到错误:
Uncaught (in promise) TypeError: Cannot set property 'itemListModel' of undefined at eval
我的代码:
data: function() {
return {
itemListModel: {}
}
}
methods: {
getAllItemsFromDb: async () => {
const url = 'https://localhost:44339/ListAll';
await axios.get(url, {
headers: {
'Content-Type': 'application/json'
}}).then((response) => {
this.itemListModel = response.data
})
}
}
computed : {
itemResultsFromDB: function(){
return this.itemListModel
}
}
查看了之前的问题: 未捕获(在承诺中)TypeError:无法使用 axios 设置未定义的属性
但我看不出我做了什么不同的事情?
2个回答
我认为,箭头函数是罪魁祸首。将 getAllItemsFromDb 转换为
function
函数:
methods: {
getAllItemsFromDb() {
const url = 'https://localhost:44339/ListAll';
axios.get(url, {
headers: {
'Content-Type': 'application/json'
}
}).then((response) => {
this.itemListModel = response.data
})
}
}
mbojko
2019-07-17
在 getAllItemsFromDb 函数中,您正在等待 axios.get() 的结果。因此,您不需要 .then() 块。尝试以下操作:
getAllItemsFromDb: async () => {
const url = 'https://localhost:44339/ListAll';
const response = await axios.get(url, {
headers: {
'Content-Type': 'application/json'
}
});
this.itemListModel = response.data;
}
Malice
2019-07-17