1. MVC(Model-View-Controller)
- 单向通信
- View和Model通过Controller承上启下
2. MVVM(Model-View-ViewModel)
- 数据绑定M -> VM -> V
- DOM事件监听 V -> VM -> M
1. MVC是单向的,MVVM是双向的,并且是自动的,数据发生变化自动同步视图,视图发生变化自动同步数据
2. MVVM解决MVVM中大量的DOM操作而使用页面渲染性能降低,加载速度变慢,影响用户体验
3. 在数据频繁更新的时候,采用虚拟DOM,减少过度渲染,提高性能。
4. ViewModel抽离Contoller中展示的业务逻辑,从MVC进化到MVVM。