1

私はngrxでAngular 2アプリを開発しましたが、私はより良いパフォーマンスを得るためにOnPushの変更検出に興味がありました。 「コンポーネントが入力プロパティにのみ依存し、それらが不変の場合、このコンポーネントは入力プロパティの1つが変更された場合にのみ変更されます。 "特別なケースのOnPush変更検出

1)私のコンポーネントが@Input()プロパティと入力しない性質が混在している場合は、役に立たないOnPushです:したがって、私はOnPush約2(簡単な)質問がありますか?

2)プロパティ(@Inputなし)のみを持つコンポーネントについては、同じ質問があります。事前:)

答えて

1

OnPushによって

おかげで、コンポーネントの内部状態に影響を与えることはありません。あなたはビクターSavkinによって、このexcellent postを見れば

は、彼は特に言及

、それが唯一の変更などのコンポーネントがまだにより更新されている入力またはに限り民間可変 状態を持つことができることは注目に値します イベントがコンポーネントのテンプレート内で発生しています。 唯一のものは、OnPush戦略が共有可変状態に依存しないことです。 こちらをご覧ください。

この投稿と彼が参照する仲間の投稿に費やす価値があります。

+1

また、単にあなたのコードが状態を変更した後 '変化検出が呼び出さを取得するために' ChangeDetectorRef.detectChanges() 'や' ChangeDetectorRef.markForCheck()を呼び出すことができます。 –

+0

素晴らしい、ありがとう! :) –

+0

@GünterZöchbauer私は何かを理解していない。私のコンポーネントに入力プロパティがない場合、OnPushは無用です。 –

関連する問題