AngularJS 与其他 JavaScript-MVC 框架的一个区别是,它能够使用绑定将绑定值从 JavaScript 回传到 HTML。当您为 $scope 变量赋任何值时,Angular 会“自动”执行此操作。
但这有多自动呢?有时,Angular 不会接受这个变化,所以我需要调用 $scope。$application ()或 $scope。消化()通知棱角拾取变化。有时,当我运行这两个方法中的任何一个时,它会抛出一个错误,表示摘要已经在运行中。
既然绑定({{}大括号或 ng-Attribute 中的任何内容)都与 eval 相呼应,那么这是否意味着 Angular 不断轮询 $scope 对象以查找更改,然后执行 eval 以将这些更改推送到 DOM/HTML?或者 AngularJS 以某种方式解决了使用魔法变量,当变量值改变或分配时触发事件?我从未听说过所有浏览器都完全支持它,所以我对此表示怀疑。
AngularJS 如何跟踪它的绑定和范围变量?