我有以下问题:为什么我无法使用 Angular 在 forEach 循环中访问我的数组。我用一个数组和一个函数创建了这个工厂,在函数中我有这个 forEach 循环。在 forEach 循环之外,我可以使用 this
关键字访问我的数组。在 forEach 循环中,它给了我一个未定义的值。
.factory("sendOrder", function () {
return {
paired: [],
send: function () {
var names = document.getElementsByTagName('input');
var ordered = document.getElementsByClassName('ordered');
var i = 0;
console.log(this.paired);//I can access it from here
angular.forEach(names, function (amount, key) {
console.log(this.paired);//Unable to access
i++;
return;
})
}
}
})
最佳答案
也许这会有所帮助。 Angular lets you set the context (this) 在 forEach
中。这是争论之一。您不必设置任何其他变量:
angular.forEach(obj, 迭代器, [上下文]);
您已传入 obj
和 iterator
。只需为 context
传递一些内容,这将是函数中的 this
。
关于javascript - 当我使用 Angular 进行 forEach 循环时,为什么无法访问工厂中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181100/