循环数组?

时间:2016-02-24 18:44:38

标签: javascript angularjs

在一个Angular应用程序中,我创建了一个工厂,在那里我获得了所有产品并将它们放入工厂变量中。从那里我可以抓住它们,无论我需要它们。到目前为止很好。 然后我想手动遍历products数组中的所有项目。我尝试了以下内容;

我的工厂第一次

myApp.factory('myStore', function ($http, $q, Store) {
    var products = "";

    // Bind products
    products = Store.query();

    return {
        get: function () {
            return products;
        },
        getSingle: function(id) {
        },
        set: function (data) {
            products = data;
        },
        add: function (data) {

        }
    };
});

在我的控制器中我有

// Bind products to list
vm.products = myStore.get();
console.log(vm.products);
for (var prop in vm.products) {
    // returns just 2 objects?
    console.log(prop);
}

for (i = 0; i < vm.products.length; i++) {
    // Does not wok at all?
}

vm.products.forEach(function (child) {
    // Does not work either. Simply does nothing.
});

我需要做什么才能遍历我的数组?

返回的产品格式正确,值正确。

是什么给出了?

资源:

myApp.factory('Store', function ($resource) {
    return $resource('http://api.com/api/products/:id', { id: '@id' }, {
        update: {
            method: 'PUT'
        }
    });
});

console.log(vm.products)的输出:http://screencast.com/t/Q52EJ2F7gf

1 个答案:

答案 0 :(得分:1)

我将循环更改为

vm.positions.$promise.then(function(data) 

然后它奏效了。因此,这是一个承诺问题..当然。