-3

誰かがインタビューをクラックするのに役立つ実際の例を提供していただければ幸いです.

4

2 に答える 2

1

$apply を呼び出すと、$digest が呼び出されます

ここにソースコードがあります

function $apply(expr) {
try {
return $eval(expr);
} catch (e) {
$exceptionHandler(e);
} finally {
$root.$digest();
}
}

$apply は、スコープ値のすべての変更が吸収されたことを確認するだけですが、ソース コードでわかるように、$apply は $digest 関数を呼び出すすべての式を評価します。

$digest 現在のスコープとその子のすべてのウォッチャーを処理します。ウォッチャーのリスナーはモデルを変更できるため、$digest() はリスナーが起動しなくなるまでウォッチャーを呼び出し続けます。

ダイジェスト サイクルの前に評価する必要がある式がアプリケーションにある場合は、$apply を使用する必要があります。変更を適用するだけの場合は、$digest を使用できます。

于 2016-09-04T07:03:37.467 に答える