2

OnPush 変更検出戦略で定義されたコンポーネントを含むブランチ内で、デフォルトの変更検出戦略を使用してコンポーネントを使用することは許容されますか?

OnPush であるコンポーネントの階層を持つ OnPush コンポーネントがあると仮定しましょう。ただし、再利用可能なコンポーネントを追加する必要があります。これは、たとえば現在の時刻をこの階層の最下部のどこかに表示します。

時間コンポーネントを機能させるには、その中で changeDetectionRef.markForCheck を使用する必要があります。これにより、angular がこのコンポーネントのすべての祖先を実際にチェックするようになります。

それを行うのは良い習慣ですか?それを回避する方法はありますか?

時間変更ロジックを最上位コンポーネントに移動し、現在の時間値を渡すことができることは理解していますが、このコンポーネントは再利用可能であり、このロジックをいくつかの場所で複製する必要があるため、そうしたくありません。また、トップコンポーネントからこれまでの道のりは大きすぎます。

4

0 に答える 0