0

假设我有一个 Angular ,它返回一个包含所有属性$resource的数组。我想在 Javascript中使用(不在模板中使用 Angular 的语法)来根据属性提取这些条目的子集。entriesname$filter {{ blah | filter:filter }}

代码看起来像:

app.controller('AppController', function ($scope, Project, $filter) {
    $scope.entries = Project.query();
    $scope.entry = $filter('filter')($scope.entries, {name: 'Bar'});
    ...
}

但是,正如此处的jsFiddle所示,该代码段不会按预期工作。entry当 XHR 完成时,无论entries异步填充什么,都将包含一个空数组。设置一个$scope.$watch也不起作用。

我想在填充数据entry时根据过滤器进行更新。entries我怎样才能做到这一点?

4

1 回答 1

0

好的,当我进行更多实验并发现我可以通过为调用提供success回调来做到这一点时,我的问题已经基本完成query()

app.controller('AppController', function ($scope, Project, $filter) {
    $scope.entries = Project.query({}, function() {
        $scope.entry = $filter('filter')($scope.entries, {name: 'Bar'});
    });
    ...
}

请参阅更新的 jsFiddle

于 2013-03-07T14:12:48.973 回答