我找到了解决方案!
更改:
<div ng-repeat="user in users | filter:search" ng-include src="userTemplate"></div>
至:
<div ng-repeat="user in users" ng-hide="user.excludedByFilter" ng-include src="userTemplate"></div>
向控制器添加“ applySearchFilter”功能
$scope.applySearchFilter = function() { var nameFilter = $scope.filters.name.toLowerCase(); var phoneFilter = $scope.filters.phone; var cityFilter = $scope.filters.city; var showAll = 0 === nameFilter.length && 0 === phoneFilter.length && 0 === cityFilter.length; angular.forEach($scope.users, function(user) { if (showAll) { user.excludedByFilter = false; } else { user.excludedByFilter = (user.name.toLowerCase().indexOf(nameFilter) === -1) || (user.phone.indexOf(phoneFilter) === -1) || (user.city.indexOf(cityFilter) === -1); } }); }并为过滤器按钮添加html代码:
<a href="#" ng-click="applySearchFilter()">Apply filters</a>
这有效!
请注意,我在输入中将ng-model =“ search。”重命名为ng-model =“ filters。*”。



