你好,我有几个按钮想要用来过滤数据,但是当我再次单击按钮时,我不知道如何使其取消过滤。我使用正常的过滤表达式,例如:
<tr ng-repeat='ledata in datas | filter:thecondition'></tr>
条件可能会根据单击的按钮而变化,按钮的代码如下
ng-click="thecondition = {type: 1}"
另外我如何用 ng-class 来标记它?让按钮看起来被按下?谢谢。
最佳答案
我的建议是尝试实现您自己的自定义过滤器。
接近的东西:
自定义过滤器:
angular.module('myApp', []).filter('myFilter', function() {
return function(items, param1, param2) {
return items.filter(function(item){ /* your custom conditions */ });
};
});
并在您的html中
<li ng-repeat="item in items | myFilter:'car': 2">
当然,您可以扩展并执行更适合您的应用需求的操作。
我之所以推荐自定义过滤器是因为它可以让你更好地分离 View 和业务逻辑;这更符合 Angular 背后的 MVVM 设计模式。
关于angularjs - 在 ng-click 上使用按钮进行过滤和取消过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518779/