AngularJSフィルタリングの通常のものです
-
12-12-2019 - |
質問
私は角度がほとんど新しいですが、このような気がします。
1つのコントローラスコープでNGリピートで表示されている複数のコレクションが表示されています。単純なクエリを実行するための各リストの入力フィールドがあります。私はコードでさまざまなフィルタで遊んでいました、そして私は私のフィルタ関数にconsole.logを置くことになった。私は1つのリストに対して私のフィルタ機能が呼び出されるたびに、スコープ内のすべてのリストに対して呼び出されました。さらに、それは毎回フィルタ関数を2回呼び出していました。そのため、3つのコレクションを使用すると、リストの1つをフィルタリングすると、フィルタ機能が6回呼び出されます。
私はそれが私のカスタムフィルタだけだったかもしれないので、デフォルトのフィルタ機能で試しました。同じ話。これが私のコードです:
https://dl.dropbox.com/u/905197/アンギュラフィルタ - test.html
コンソールに移動して自分のために見えます:/
ここで何が悪いのですか?これはそのような簡単なことのようですが、それはそんなに多くの仕事をしています。
解決
これは正常です、AngularJSは 'ダーティチェック'アプローチを使いますので、変更が存在するかどうかを確認するためにすべてのフィルタを呼び出す必要があります。その後、1つの変数(入力したもの)が変更されていることを検出し、次にすべてのフィルタを再実行して、他の変更があるかどうかを検出します。
所属していません StackOverflow