У меня есть объект продуктов. Продукты, которые я получаю от ресурса (Product
), хранят на заводе (productsStore
) и проходят через контроллер.Двунаправленная привязка данных для forEach?
В другом контроллере я хочу либо удалить обновленные продукты через productsStore.empty();
, либо productsStore.get();
. Но любой из них ничего не делает. Значение my forEach, ниже, не запускается снова, а список не обновляется. Что я делаю неправильно?
Контроллер:
vm.products = productsStore.get();
vm.products.$promise.then(function (data) {
angular.forEach(vm.products, function (child) {
//. some code
)};
)};
Фабрика:
myApp.factory('productsStore', function ($http, $q, Product) {
var products = "";
var get = function() {
return products = Product.query();
};
var empty = function() {
return products = {};
};
// Bind products
products = get();
return {
get: get,
empty: empty
};
});
Ресурс:
myApp.factory('Product', function ($resource) {
return $resource('http://api.com/api/products/:id', { id: '@id' }, {
update: {
method: 'PUT'
}
});
});
Обещание разрешается только один раз. – dfsq