javascript - 当我使用 Angular 进行 forEach 循环时,为什么无法访问工厂中的数组?

标签 javascript arrays angularjs foreach

我有以下问题:为什么我无法使用 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, 迭代器, [上下文]);

您已传入 objiterator。只需为 context 传递一些内容,这将是函数中的 this

关于javascript - 当我使用 Angular 进行 forEach 循环时,为什么无法访问工厂中的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181100/

相关文章:

javascript - JS 如何对数组的索引进行归约求和?

javascript - 本地时间到服务器时区的转换

javascript - 用千位分隔符总结值

javascript - 使用 GET 请求发送数组

javascript - NG-repeat on 指令创建重复的 DOM 元素

javascript - AngularJS fn is not a function error using $timeout with a function with parameters 错误

node.js - 将 JSON 数据从 Mongoose 文档返回到客户端 Javascript

javascript - 使用 GoogleAPI JS 呈现路线

javascript - 摘抄();函数不计算/处理日语单词

c - 调整数组中的位置以保持递增顺序