AngularJS が他の JavaScript-MVC フレームワークと異なる点の 1 つは、バインドを使用して、バインドされた値を JavaScript から HTML にエコーできることです。$scope 変数に任意の値を割り当てると、Angular はこれを「自動的に」行います。
しかし、これはどのくらい自動的ですか?Angular が変更を認識しない場合があるため、$scope.$apply() または $scope.$digest() を呼び出して、angular に変更を認識させるよう通知する必要があります。これらのメソッドのいずれかを実行すると、エラーがスローされ、ダイジェストが既に進行中であることが示されることがあります。
バインディング ({{ }} の中括弧または ng 属性内のもの) は eval でエコーされるため、これは、Angular が常に $scope オブジェクトをポーリングして変更を探し、eval を実行してそれらの変更を DOM/ にプッシュすることを意味します。 HTML? または、AngularJS は、変数値が変更または割り当てられたときにトリガーされるイベントを発生させる魔法の変数の使用をどうにかして理解しましたか? すべてのブラウザで完全にサポートされているとは聞いたことがありません。
AngularJS はそのバインディングとスコープ変数をどのように追跡しますか?