2013-08-19 2 views
5

http://plnkr.co/edit/b1yGAwkzojF4BFWgpMsv?p=previewなぜ `filter`が何度もトリガしますか?

filterが何度何回トリガーしたのですか?

最初にnullであるので、{{name|test}}は2回tiggerします。コントローラで値を取得しました。

なぜテンプレートを含めるとfilterがトリガーされたのですか?

+0

私の質問は 'なぜテンプレートを含めるとフィルターをトリガーしたのですか? ' – atian25

答えて

8

すべてのフィルタは、ダイジェストサイクルごとに少なくとも1回呼び出されます。 This SO answerにはこれを実証している謎があります。

テンプレートがロードされると、ダイジェストサイクルに入っているので、すべてのフィルタが呼び出されます。

+0

それは狂っています...角度はスコープが変更されたときにのみレンダリングされますが、この場合は多くの不必要なものがあることを意味します calcパフォーマンスはどうですか?私たちはこれを避けるために何をすべきですか? – atian25

+3

@ atian25、1つの方法は、フィルタを使用しないフィルタを使用しないようにすることです - 私はコントローラでフィルタリングされた値を計算し、スコーププロパティに結果を格納し、ビューでそのプロパティを使用することを意味します。これは明らかにすべてのフィルターで機能しませんが、一部のフィルターでは機能します。 –

関連する問題