AngularJs
脏检查机制
通过ng-click
、$timeout
、$apply
、$digest
等触发,对所有被绑定到UI的表达式和上一次触发时进行对比
Angular2+
Angular 2 通过zone.js复写了很多浏览器原生方法,应用程序是一颗组件树,而每个组件都有自己的变化检测器,且均为单项数据流,数据会依次流向受到该变化影响的所有后代组件并触发其变化检测
通过ngOnChanges
可以捕获来自父元素的输入内容变化

Vue
建立虚拟DOM树(document.createDocumentFragment()
),通过Object.defineProperty()
数据劫持,通过发布者-订阅者模式
改变虚拟DOM树中的值,并最终渲染到DOM树
React
不同于Vue,React的 Virtual DOM 是一个纯粹的 JS 数据结构,所以性能会比原生 DOM 快很多。通过setState
改变组件状态,通过diff算法找出并更新相关的虚拟DOM节点,并最终更新到真正的浏览器DOM节点。
React没有双向绑定。
微信小程序
通过setData
驱动视图层的WebView更新,小程序没有双向绑定。
网友评论