在Ang JS中有相当于
Backbone’s Collection还是
Ext JS’s Store?我正在学习
$resource,但不太了解这方面.
调节器
// This is the "collection" I'm interested in. $scope.foos = []; // Foo is a $resource. Foo.query(function (foos) { // This works,but is there a smarter "collection" object? $scope.foos = foos; }); $scope.createFoo = function (data) { var foo = new Foo(data); foo.$save(function (shinyNewFoo) { $scope.foos.unshift(shinyNewFoo); }); };
说明
在$scope.createFoo中,我正在创建一个新的Foo,坚持它,然后将其添加到我的穷人的集合,一个数组.这个工作和视图正确更新,但是我太懒了.理想情况下,我想要一个“收藏”,我可以添加和删除,将自动POST / DELETE.也许像下面这样.
假装实施
$scope.fooCollection = new CoolCollection({ // specify the type of resources this collection will contain itemsResource: Foo }); // Creates new Foo,saves,adds to collection. $scope.fooCollection.add(data);
这样的事情存在吗? $资源文件提到一个集合,但我没有真正得到它. This answer似乎很有希望,但没有解释收藏的想法.我错过了什么,还是没有想到这个角度呢?
附录
在MEAN.io样板中,the article controller表示“收集”是手动管理的(见下面的拼接).
$scope.remove = function(article) { if (article) { article.$remove(); for (var i in $scope.articles) { if ($scope.articles[i] === article) { $scope.articles.splice(i,1); } } } else { $scope.article.$remove(); $location.path('articles'); } };
如果这个难以捉摸的“收藏”存在,我想他们会使用它.而是手动管理数组.