Sloved!看下面的内容。
我正在尝试使用自定义函数和输入搜索来过滤角度。
我的HTML看起来像:
INSERT
其中'searchInput'是基本输入标记,函数'filterGuests'看起来像:
/(?<!['])(?<![;])[;](?![;])(?!['])/g
我想要做的是在'filterGuest'实际过滤了大部分来宾之后,还能够执行搜索。 如何通过功能和输入实现过滤器?
Sloved! 我通过改变HTML和控制器来实现这一目标。 在HTML中,我将其更改为:
<md-list-item class="md-3-line" ng-repeat="guest in guestList | filter:filterGuests && searchInput" >
<div class="md-list-item-text">
<h3>{{guest.name}}</h3>
</div>
</md-list-item>
我修改了控制器,我把过滤器取为:
$scope.filterGuests = function(guest){
if($scope.$parent.filters[guest.status] == true)
return true;
return false;
参数作为:
传递给过滤器<md-list-item class="md-3-line" ng-repeat="guest in guestList | filterGuests:searchInput:this" >
<div class="md-list-item-text">
<h3>{{guest.name}}</h3>
</div>
</md-list-item>
所有项目列表(在我的情况下为guest),搜索输入和$ scope(我需要访问范围之外的变量)。
我在这里找到的所有答案:https://stackoverflow.com/a/11997076/2346370
谢谢Bas Slagter,我不知道我怎么也没想过再传一个论点。
答案 0 :(得分:0)
您可以将searchInput的值传递给filterGuests过滤器,以便在过滤时使用它。
<md-list-item class="md-3-line" ng-repeat="guest in guestList | filterGuests:searchInput" >
<div class="md-list-item-text">
<h3>{{guest.name}}</h3>
</div>
</md-list-item>