我对 vue.js 的了解有限,但据我所知,这应该可行,但出于某种原因,当我尝试访问数据属性中的变量时,它找不到它。
data: function() {
return {
id: 0,
clients: []
}
},
methods: {
getClientData(){
fetch('/view-clients/' + this.id).then(function (response) {
return response.text();
}).then(function (data) {
this.clients = JSON.parse(data);
this.id = this.clients[clients.length - 1].id;
}).catch(function (error) {
console.log('Error: ' + error);
});
}
}
最佳答案
函数作用域很可能是罪魁祸首。请改用箭头函数,以便 this
引用 Vue 组件。
data() {
return {
id: 0,
clients: []
}
},
methods: {
getClientData(){
fetch('/view-clients/' + this.id).then((response) => response.text())
.then((data) => {
this.clients = JSON.parse(data);
this.id = this.clients[this.clients.length - 1].id;
}).catch((error) => {
console.log('Error: ' + error);
});
}
}
关于javascript - Vue.js 错误 : TypeError: Cannot read properties of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70646023/