Js三种实现数据双向绑定的方式
发布者-订阅者模式(.js)
脏值检查(.js)
数据劫持(vue.js)
发布者-订阅者模式: 一般通过sub, pub的方式实现数据和视图的绑定监听,更新数据方式通常做法是vm. set( ' ', value) 这种方式现在毕竟太low了,我们更希望通过vm. = value 这种方式更新数据,同时自动更新视图,于是有了下面两种方式
脏值检查: .js是通过脏值检测的方式比对数据是否有变更,来决定是否更新视图,最简单的方式就是通过 () 定时轮询检测数据变动,当然不会这么low, 只有在指定的事件触发时进入脏值检测,大致如下:
数据劫持: vue.js则是采用数据劫持结合发布者-订阅者模式的方式,通过
.()来劫持各个属性的,,,在数据变动时发布消息给订阅者,触发相应的监听回调。