课堂笔记
什么是 MVVM ?
MVVM 是一种架构模式,它最初是由微软的两位工程师在 2005 年的时候所提出的。
- Model:Model代表的是你的数据
- View:视图,直接和用户打交道的
- ViewModel:ViewModel 是 View 和 Model 之间的桥梁。View 和 ViewModel 之间会进行一个数据的绑定。当用户在 View 中进行操作的时候,ViewModel 会去更新 Model 的状态。同理,当 Model 数据发生改变的时候,ViewModel 也会通知 View,让 View 自动显示最新的内容。
MVVM 最早期并非是用于前端的,但是随着前端的火热,慢慢也引入了这种架构模式。
需要说一下,Vue、React 这些现代框架并非第一批使用 MVVM 架构模式的框架,在此之前还有 knockout.js 以及 ember.js。
这里要强调一下,Vue 是 MVVM 架构模式。但是 React 并非 MVVM 架构模式。
在 Vue 中,有明确的哪个部分是 M,哪个部分是 V,哪个部分是 VM。
在 React 里面,没有明确的 VM 部分,采用的是 Flux 的架构模式,是单向数据流。
作为现代前端框架,有如下 4 个共有的特点:
- 状态管理
- 支持组件化开发
- 有配套的前端路由库
- 有配套的状态管理库
接下来我们来重点对比一下 Vue 和 React 这两个框架的异同。
- 视图描述
Vue 使用的是模板进行描述
React