关于什么是MVVM?几种双向数据绑定的方式
1.什么是MVVM?
M:(Model,模型层) 数据模型 数据是后端ajax获取到的
V :(View,视图层)需要把数据展示到页面的html中
VM:(ViewModel,视图模型 V与M连接的桥梁) View和Model是通过ViewModel来进行关联的
View改变了 通过DomListener 注册事件 视图改变了 数据就改变了
数据变化了 视图根据DataBindings发生改变(也就是数据劫持)
MVVM实现了数据双向绑定 (数据发生改变以后 VM会监测到数据的改变) 自动的通知我们的页面
进行修改 视图发生改变以后 同样的数据也会发生改变
Vue做得事情就是视图变 数据变 数据变 视图变
2.几种双向数据绑定的方式?
1.发布-订阅者模式(backbone.js) 最早的mvvm框架
一般通过pub、sub的方式来实现数据和视图的绑定 使用起来比较麻烦
2.脏值检查(angular.js)
用定时器轮训检测数据是否发生改变 性能低
3.(vue用什么方式实现的数据绑定?)
数据劫持 Object.defineProperty给对象的属性增加修饰符来劫持各个属性的setter getter(获取值和设置值的时候 你都能知道
然后就可以修改页面的视图了) 此外还结合了发布订阅模式 把所有订阅 指定 统一做更新的处理
IE8以下不支持 Object.defineProperty这个属性的 所以vue只兼容到ie9
相关推荐
姜海强 2020-08-01
chenjinlong 2020-06-10
conganguo 2020-06-09
88473166 2020-05-14
89427412 2020-05-06
conganguo 2020-05-06
yw00yw 2020-05-04
conganguo 2020-04-25
86523296 2020-04-22
89427412 2020-04-22
yw00yw 2020-04-20
86523296 2020-04-11
檀木雨林 2020-04-11
yw00yw 2020-04-11
yw00yw 2020-04-09
howema 2020-02-21
闲来也无事 2020-02-19
codercheng 2020-02-15
檀木雨林 2020-02-15