使用 angularjs 内置过滤器从代码中过滤特定 属性
Filter on a specific property from code using angularjs built-in filter
我们如何通过代码根据内置过滤器的特定 属性 进行过滤?
我知道如何从标记中做到这一点 -
<li ng-repeat="user in users | filter:{status:status}">{{user.name}}</li>
当 属性 名称是一个变量时,这似乎是一个特殊的问题。我在 jsfiddle 中重现了这个问题 - http://jsfiddle.net/n925b20L/
如果您需要使用存储在变量中的动态键构造对象,您应该使用 bracket notation:
$scope.$watch('status', function(){
var filter = {};
filter[$scope.filterby.val] = $scope.status;
$scope.filtered = $filter('filter')($scope.users, filter);
console.log($scope.filtered);
});
我们如何通过代码根据内置过滤器的特定 属性 进行过滤? 我知道如何从标记中做到这一点 -
<li ng-repeat="user in users | filter:{status:status}">{{user.name}}</li>
当 属性 名称是一个变量时,这似乎是一个特殊的问题。我在 jsfiddle 中重现了这个问题 - http://jsfiddle.net/n925b20L/
如果您需要使用存储在变量中的动态键构造对象,您应该使用 bracket notation:
$scope.$watch('status', function(){
var filter = {};
filter[$scope.filterby.val] = $scope.status;
$scope.filtered = $filter('filter')($scope.users, filter);
console.log($scope.filtered);
});