美文网首页JavaScript理论知识
17-01:AngularJS 双向绑定原理

17-01:AngularJS 双向绑定原理

作者: 小小前端搬运工 | 来源:发表于2022-05-25 21:42 被阅读0次

    Angular 将双向绑定转换为一堆 watch 表达式,然后递归这些表达式检查是否发生过变化, 如果变了则执行相应的 watcher 函数(指 view 上的指令,如 ng-bind,ng-show 等或是{{}})。

    等到 model 中的值不再发生变化,也就不会再有 watcher 被触发,一个完整的 digest 循环就完成了。

    Angular 中在 view 上声明的事件指令,如:ng-click、ng-change 等,会将浏览器的事件转发给 $scope 上相应的 model 的响应函数。等待相应函数改变 model,紧接着触发脏检查机制刷新 view。

    watch 表达式:可以是一个函数、可以是$scope 上的一个属性名,也可以是一个字符串形式的表达式。$watch 函数所监听的对象叫做 watch 表达式。watcher 函数:指在 view 上的指令(ngBind,ngShow、ngHide 等)以及{{}}表达式,他们所注册的函数。每一个 watcher 对象都包括:监听函数,上次变化的值,获取监听表达式的方法以及监听表达式,最后还包括是否需要使用深度对比(angular.equals())

    相关文章

      网友评论

        本文标题:17-01:AngularJS 双向绑定原理

        本文链接:https://www.haomeiwen.com/subject/qbeyprtx.html