Angular-2 プロジェクト内で常に使用するのは合理的な規則でしょうか?
changeDetection: ChangeDetectionStrategy.OnPush
コンポーネントのデコレータ内?default-strategy を使用する明確な理由がある場合を除きますか?
Angular-2 プロジェクト内で常に使用するのは合理的な規則でしょうか?
changeDetection: ChangeDetectionStrategy.OnPush
コンポーネントのデコレータ内?default-strategy を使用する明確な理由がある場合を除きますか?
いいえ、お勧めしません。
Angular 2 の変更検出は非常に高速です。あなたが小さなプロジェクトを持っているなら、私はそれを気にしません。
大規模なプロジェクトがある場合OnPush
、特定の「リーフ」コンポーネント (入力プロパティのみに依存するビュー バインディングを持つリーフ コンポーネント) でのみ使用する可能性があります。(「リーフ」コンポーネントには子コンポーネントがありません。)
コンポーネントが変更検出される原因が何もない場合、その子コンポーネントもチェックされOnPush
ないため、子コンポーネントが自動的に変更検出されるのを防ぐことができることに注意してください。したがって、この問題を回避するために、通常はリーフコンポーネントでのみ使用する理由です。OnPush
また、入力プロパティに JavaScript 参照型を使用する場合、 はそれらの参照型のプロパティに加えた変更を検出しないことに注意してくださいOnPush
(たとえば、配列に要素を追加または削除した場合、またはオブジェクト プロパティの値を変更した場合)。