2

我可以像这样做一个简单的过滤器:

Name Filter: <input ng-model="MyFilter.Name" />
Age Filter: <input ng-model="MyFilter.Age" />

<ul>
  <li ng-repeat="thing in Things | Filter:MyFilter">
    {{thing.Name}} {{thing.Age}}
  </li>
</ul>

我也可以在我的控制器中调用我自己的过滤器:

$scope.Things = $filter("MyCustomFilter")($scope.AllThings, params);

这些都可以正常工作,但我想将第一个简单的过滤器也移动到控制器中,以执行以下操作:

$scope.Things = $filter("MyCustomFilter")($scope.AllThings, params);
$scope.Things = $filter("Filter")($scope.Things, $scope.MyFilter);

这个想法是先调用我的自定义过滤器,然后在结果上调用简单的内置过滤器。我想在控制器中执行此操作,因为我有其他代码需要知道已过滤项目的列表,因此不能将其留在 html 中。

上面的代码抛出一个异常,抱怨循环引用。

在控制器中使用 Angular 的简单过滤器的正确方法是什么?

谢谢你。

4

0 回答 0