假设我有一个Angular $resource
,它返回一个entries
数组,这些数组都具有name
属性。我想在Javascript中使用$filter
(不在模板中使用Angular的{{ blah | filter:filter }}
语法)根据这些条目提取这些条目的子集属性。
代码看起来像:
app.controller('AppController', function ($scope, Project, $filter) {
$scope.entries = Project.query();
$scope.entry = $filter('filter')($scope.entries, {name: 'Bar'});
...
}
但是,如此jsFiddle here所示,该代码段无法按预期工作。当XHR完成时,entry
将包含一个空数组,无论entries
异步填充什么$scope.$watch
。设置entry
也不起作用。
我希望在使用数据填充entries
时根据过滤器更新{{1}}。我怎么能这样做?
答案 0 :(得分:0)
好的,当我进行更多实验时发现我可以通过向success
调用提供query()
回调来完成此操作,我已经完成了很多工作:
app.controller('AppController', function ($scope, Project, $filter) {
$scope.entries = Project.query({}, function() {
$scope.entry = $filter('filter')($scope.entries, {name: 'Bar'});
});
...
}
请参阅updated jsFiddle。