誰かがインタビューをクラックするのに役立つ実際の例を提供していただければ幸いです.
質問する
83 次
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 に答える