Angular知道被过滤的内容

时间:2014-01-18 23:09:55

标签: angularjs filter

我有一个ng-repeat过滤searchClient

<li ng-repeat="client in Clients | filter:searchClient">

和一些ng-model |我的用户将搜索其中一个过滤器

<input class="input" type="text" ng-model="searchClient.cnpj">
<input class="input" type="text" ng-model="searchClient.name">
<input class="input" type="text" ng-model="searchClient.rz">

根据用户使用的过滤器,我想显示不同的页面

我的任务是:我如何知道哪个过滤器正在运行?

吨。你。

1 个答案:

答案 0 :(得分:0)

我不确定我的问题是否正确。如果您需要区分以找到更改的内容,您可以在特定属性下使用$ watch,如下所示:

$scope.$watch('searchClient.name', function(val) {
});

$scope.$watch('searchClient.cnpj', function(val) {
});

但是你需要记住,如果你在更改过滤器时进行了大量的刷新,那么当用户输入内容时,你可能会有太多的请求。在这种情况下,我们通常使用去抖算法。它的工作原理如下(来自文档):“只要它继续被调用,就不会被触发。该函数将在停止被调用N毫秒后被调用。”