如何根据控制器中声明的变量的布尔表达式进行过滤?
类似的东西:
<div ng-repeat="user in users | filter:{someVarFromController==true}">
<div>
{{user.name}}
</div>
</div>
我管理它才能使表达式使用集合属性 例如:
<div ng-repeat="user in users | filter:{IsDomestic: true}">
答案 0 :(得分:0)
在控制器中定义一个函数,该函数为特定元素返回true或false,并在过滤器中使用该函数。
$scope.showUser = function(user){
// logic to decide if element should be displayed, or just:
return $scope.someVarFromController;
};
<div ng-repeat="user in users | filter:showUser">
观察:也许我错过了一些东西,但我不确定为什么你只想用$scope
中的变量进行过滤,而没有引用{{1}中的特定元素}。这样就可以显示所有元素,也可以不显示任何元素,在这种情况下,最好在较高级别使用ng-repeat
或ng-if
。