MVVM 及实现思路

1. 为啥需要 MVVM ?

传统的 MVCMVVM 及实现思路
jQuery 操作 DOM 时, 要求前端同时兼顾页面的渲染和数据的处理逻辑。

MVVM 则让开发者关注 Model 的变化,关心 JavaScript 对象的更新,让 MVVM 框架去自动更新 DOM 的状态,免去操作 DOM 的繁琐步骤。

2. 如何绑定 view 和 model ?

Vue 基于发布者-订阅者模式和数据劫持实现绑定 view 和 model。
(1)数据初始化时:劫持数据的 setter, getter 函数,并收集依赖 subscriber 到 subsAgent 队列。
(2)数据更新时:依赖队列 subsAgent 通知订阅者,触发 subscriber 的回调函数,渲染更新后的视图。

一图胜过万语千言:MVVM 及实现思路
把握两条主线 : 构建响应式系统 + 解析渲染模板。

Time…
感谢分享:DMQ , 廖雪峰的官方网站