码迷,mamicode.com
首页 > 其他好文 > 详细

数据绑定原理

时间:2016-12-07 02:08:37      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:time   timeout   dom   绑定   get   oca   编译   模板   set   

数据绑定的常用方法

1. 发布订阅 + 事件监听

扫描dom模板,编译dom模板,得到对于的发布订阅函数,生成对应的dom元素,赋值和取值基于函数,代表knockoutjs

2. 脏值检查

通过对比数据是否有变更,来决定视图是否更新。例如angular.js,会在特定事件触发下,进行脏值检查,
例如:
DOM事件,譬如用户输入文本,点击按钮等。( ng-click )
XHR响应事件 ( $http )
浏览器Location变更事件 ( $location )
Timer事件( $timeout , $interval )
执行 $digest() 或 $apply()

3. 数据劫持

基于Object.defineProperty()的set和get方法对数据属性进行劫持,赋值时执行set方法,取值时执行get方法。
利用发布订阅的方式执行dom更新,代表vue.js

数据绑定原理

标签:time   timeout   dom   绑定   get   oca   编译   模板   set   

原文地址:http://www.cnblogs.com/mengff/p/6139672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!