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