forEach上的双向数据绑定?
问题描述:
我有一个产品的对象。我从资源获得的产品(Product
),存储在工厂(productsStore
)中,并在控制器中迭代。forEach上的双向数据绑定?
在另一个控制器中,我想通过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'
}
});
});
答
尝试通过你的承诺得到解决后的数据环,否则它是一个相当无用变量。
angular.forEach(data, function(child) {
//...do something with the child
});
此外,你有一个错字,我不确定你是否在你的实际代码中。在你的控制器中,块的末尾应该是})而不是)}
Promise只解析一次。 – dfsq