使用angularjs内置过滤器过滤代码中的特定属性

Filter on a specific property from code using angularjs built-in filter

本文关键字:属性 代码 angularjs 内置 过滤器 过滤 使用      更新时间:2023-09-26

我们如何从代码中根据内置过滤器的特定属性进行过滤?我知道如何从标记做到这一点-

<li ng-repeat="user in users | filter:{status:status}">{{user.name}}</li>

当属性名称是一个变量时,这似乎是一个特殊的问题。我在jsfiddle中重新创建了这个问题-http://jsfiddle.net/n925b20L/

如果需要使用存储在变量中的动态键来构造对象,则应该使用括号表示法

$scope.$watch('status', function(){
    var filter = {};
    filter[$scope.filterby.val] = $scope.status;
    $scope.filtered = $filter('filter')($scope.users, filter);
    console.log($scope.filtered);
});

演示:http://jsfiddle.net/n925b20L/2/