0

いくつかのディレクティブを含むページがあります。ヘッダー/ナビゲーションには、それぞれ独自のスコープを持つ多数のディレクティブがあります。25 項目の ng-repeat もあり、それぞれが独自のスコープを持つディレクティブを作成します。

ディレクティブの 1 つに、フォーム エラーを表示するためのカスタム フィルターを含むフォームが含まれています。次のようになります。

<span>{{ createProjectForm.name.$error | nagParseErrors }}</span>

今私が今持っている懸念は、このデータ createProjectForm.name が(ng-modelで)バインドされているにもかかわらず、任意のスコープ内の何かが変更されたときに約33回 nagParseErrors が実行されていることです コントローラースコープとディレクティブのスコープにのみ含まれていますフォーム (コントローラ スコープからディレクティブに渡されるだけです)。ng-repeat を 25 項目から 1 に制限すると、フィルターは 9 回しか呼び出されないため、ページ上のスコープ (またはディレクティブ) の数に関連していることはわかっています。これは、組み込みフィルター (json など、さらに実行回数が多い) でも発生しました。

ここで間違っている可能性がありますか、それとも実際に AngularJS でどのように動作するのでしょうか?

ところで、エラーを表示することは、ディレクティブ ルートを使用することを計画しているフィルターよりもディレクティブとしての方が良いかもしれないことに気付きましたが、おそらくいつかこれに遭遇するので、ここでフィルターの理解を深めたいと思います道路。

4

1 に答える 1