Angular

Change Detection

Zone.js、change detection戦略、OnPush戦略、ChangeDetectorRef、markForCheck、detectChanges、パフォーマンス最適化

20 面接問題·
Mid-Level
1

Angularのchange detection機構とは何ですか?

回答

Change detectionは、Angularがアプリケーションの状態の変化を検出し、それに応じてDOMを更新するプロセスです。デフォルトでは、AngularはZone.jsを使用して非同期イベント(clicks、HTTP requests、timers)を自動的に検出し、ルートからコンポーネントのチェックをトリガーします。このチェックはコンポーネントツリーを走査し、DOMに適用する変更を特定します。

2

AngularのchangeにおけるZone.jsの役割は何ですか?

回答

Zone.jsは、ブラウザのネイティブな非同期API(setTimeout、Promise、addEventListenerなど)をパッチして実行をインターセプトするライブラリです。非同期操作が完了すると、Zone.jsはAngularに通知し、Angularはルートコンポーネントから自動的にchange detectionをトリガーします。これにより、開発者の手動介入なしにAngularが変更を検出できます。

3

Default戦略とOnPush戦略の違いは何ですか?

回答

Default戦略は、change detectionサイクルごとにツリー内のすべてのコンポーネントをチェックするため、コストがかかる場合があります。OnPushは、inputが変更された場合(不変参照)、テンプレートからイベントが発行された場合、async pipeが新しい値を受け取った場合、またはmarkForCheck()が手動で呼び出された場合にのみコンポーネントをチェックすることで最適化します。OnPushはチェックを大幅に削減し、パフォーマンスを向上させます。

4

コンポーネントでOnPush戦略を有効にする方法は?

5

AngularコンポーネントにおけるChangeDetectorRefの目的は何ですか?

+17 面接問題

次の面接に向けてAngularをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める