VueJS:未捕获(承诺中)TypeError:无法读取未定义的属性“push”
2016-07-19
26003
我收到“无法读取未定义的属性推送”错误:这是我的 vueJs 代码:
data:{
CoIsignedListUID:[]
}
methods:{
fetchCoISigned: function () {
this.$http.get('/cimsm/public/api/fetchCoIsigned/' + this.conflictofInterest.complaintID).then(function (response) {
var data = response.data;
this.$set('CoIsignedList', data);
data.forEach(function (detail) {
this.CoIsignedListUID.push(detail.uID);
});
});
我做错了什么?谢谢
2个回答
this.CoIsignedListUID
未定义
可能是因为
this
不是您认为的
this
您应该执行
var _this = this
在函数外部,然后
_this.CoIsignedListUID.push(detail.uID);
或者,您可以使用 ES2015 箭头语法。
而不是:
.then(function (response) {}
使用:
.then((response) => {}
'this' 现在在函数内部可用,因此无需创建新变量。完整详细信息 此处 。
gurghet
2016-07-19
foreach回调中的此
不是vue.js
this
。
您可以这样做来解决此问题。
697475695
kangbin
2016-07-20