MVVM原理

mvvm

mvvm即Model-View-ViewModel,mvvm的设计原理是基于mvc的

MVC

MVVM


以数据双向绑定为核心,
数据变化 -> 视图更新;
视图交互变化(input) -> 数据model变更。

m指的是服务器后端的数据层封装
v指的是客户端视图层的封装
vm指的是数据层与视图层的数据绑定核心
mvvm实现了视图层与数据层的同步刷新

MVVM中vm过程


数据绑定实现了对数据层set与get的劫持与刷新操作关联

  1. 数据监听器Observer实现对数据属性的set/get的劫持,其中的Dep实现对set操作的消息广播数组的管理
    利用Obeject.defineProperty()来监听属性变动,监听到变化之后实现消息订阅器Dep类,可以在Dep类中添加订阅者,数据变动触发notify,向订阅者传递消息,再调用订阅者的update方法。

  2. 指令解析器Compile,生成DOM,以及绑定相应的更新函数

  3. 订阅者Watcher,作为连接Observer和Compile的桥梁,能够订阅并收到每个属性变动的通知,执行指令绑定的相应回调函数,从而更新视图

  • A. 在自身实例化时往属性订阅器 dep里面添加自己
  • B. 自身必须有一个update()方法
  • C. 待属性变动dep.notice()通知时,能调用自身的update()方法,并触发 Compile中绑定的回调,则功成身退。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值