我有一个产品的对象。我从资源(Product
)获得的产品,存储在工厂(productsStore
)中,并在控制器中迭代。
在另一个控制器中,我想通过productsStore.empty();
或productsStore.get();
清空刷新产品。但他们中的任何一个都没有。意思是我的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'
}
});
});
答案 0 :(得分:0)
尝试循环解析promise后得到的数据,否则它是一个相当无用的变量。
angular.forEach(data, function(child) {
//...do something with the child
});
此外,你有一个错字,我不确定你的实际代码。在您的控制器中,块的结尾应该是})而不是}}