如何避免创建假this
以访问组件data
属性?因为我有一个传递给Array.forEach
的新函数,thi
s关键字实际上是指函数而不是Vue实例。
created () {
this.items.push({
value: 1000,
selected: false
});
var otherThis = this;
someAjaxOperation.returnedJson.forEach(function (item, index) {
otherThis.items.push({
selected: false,
value: item
})
});
}
正如您所看到的,我有创建this
副本的hacky解决方法。还有更好的方法吗?
答案 0 :(得分:0)
始终可以访问vue实例的一种简单方法是通过声明它时使用的变量。
例如,如果你有这样的代码:
var app = new Vue({
el: '#app',
data: {
someVar: 1
}
});
然后,您始终可以通过someVar
app.someVar
所以你的例子变成了:
created () {
this.items.push({
value: 1000,
selected: false
});
someAjaxOperation.returnedJson.forEach(function (item, index) {
app.items.push({
selected: false,
value: item
})
});
}