Angular如何知道应该重新应用绑定来用更新的数据刷新UI元素
How does Angular know that bindings should be re-applied to refresh UI elements with updated data?
我想我了解控制器函数最初是如何用可绑定对象图填充范围的,以及角度指令是如何将该图的元素与UI的各个方面关联起来的。
我还了解当文档在浏览器中加载时,如何第一次将初始数据复制到UI字段中。
我不清楚的是Angular如何知道在底层数据更改时刷新绑定的UI元素。
我可以看到两种可能的方法:
1) 在加载时,当所有设置都运行时,Angular将绑定的JS对象封装在一个更复杂的结构中,当赋值语句使对象"脏"时,该结构允许对象基本上"引发事件"到Angular绑定机制
2) (这是我的最佳猜测)当用户JS代码做了一些事情,比如AJAX回调,它知道会更新数据时,它也会显式地调用模块或控制器上的一个方法来强制重新绑定。
这两种猜测接近吗?
$watch
-ed变量进行"脏检查"。
以下是关于范围变量的Angular文档,以及它们如何与Angular的摘要循环集成
阅读这篇文章以获得更深入的理解。
相关文章:
- Angular:更新一次性绑定的数据
- AngularJS 1.5.x服务未正确绑定,并且未在控制器中更新
- AnguarJS 1.3使用一次性绑定手动更新绑定
- Angular$watch未更新绑定
- 是否可以在extjs5中动态更新绑定
- 如何在引导日期范围选取器日期更改时更新绑定
- 将更新绑定到链接中的指令元素,而不是内联
. - 表单提交不会更新绑定到单选按钮的模型
- 如何在 d3.js 中更新绑定数据
- 角度更新绑定配置
- 为什么我的 ko 计算的可观察量在其值更改时不更新绑定的 UI 元素
- KnockoutJS-一个计算可写的可观察对象;无法正确更新绑定
- 在AngularJS中,如何为多个控制器的共享服务属性的异步模型更改更新绑定[.]
- js:更新绑定
- 更新绑定与jQuery排序
- Angular.js:手动修改后更新绑定
- JqxGrid过滤器值在更新绑定数据时清除
- 如果以编程方式更改了模型,Ko不会更新绑定控件
- 为什么不't将通知更新绑定到变量
- 更新绑定到表单表的observableArray会导致焦点丢失