我的数据中有以下变量:
data: function () {
return {
myVariable: false,
}
}
如何使用循环函数访问此变量,如下所示?
anArray.forEach(function(item) {
this.myVariable = true;
// do something
});
我得到了这个'未定义为查看当前循环函数,而不是vuejs对象。
答案 0 :(得分:4)
使用箭头功能,这样就不会在forEach循环中创建新范围,并保留Vue组件的this
引用。
anArray.forEach((item) => {
this.myVariable = true;
// do something
});
答案 1 :(得分:3)
您可以将this
绑定到函数的范围:
anArray.forEach(function(item) {
this.myVariable = true;
// do something
}.bind(this));
另一种方法是使用箭头符号(我不是100%肯定):
anArray.forEach((item) => {
this.myVariable = true;
// do something
});