1.什么是MVVM?
MVVM 由 Model、View、ViewModel 三部分构成
- Model 代表数据模型,也可以在 Model 中定义数据和修改业务逻辑;
- View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来;
- ViewModel 是一个同步View 和 Model的对象;
![4552ecfb1d0480ed33b3999ef5e1e056.png](https://i-blog.csdnimg.cn/blog_migrate/1ddaef97e9570cfe741aec3620fb971e.jpeg)
在 MVVM 架构下,View 和 Model 之间并没有直接的联系,而是通过 ViewModel 进行交互,Model 和 ViewModel 之间的交互是双向的, 因此 View 数据的变化会同步到 Model 中,而 Model 数据的变化也会立即反应到 View 上。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而 View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作 DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。
2.什么是MVC
MVC是Model-View-Controller的缩写,即模型—视图—控制器
- Model:后端传递的 数据 。
- View:所看到的 页面 。
- Controller:页面 业务逻辑 。
- MVC是 单向通信 。即View和Model,必须通过Controller来承上启下。
- 使用MVC的 目的 就是 将M和V的代码分离 。
3.MVC和MVVM的区别
mvc 和 mvvm 都是一种设计思想。主要就是 把mvc 中 Controller 演变成 mvvm 中的viewModel。mvvm 主要解决了 mvc 中大量的 DOM 操作使页面渲染性能降低,加载速度变慢,影响用户体验的缺点。当 Model 频繁发生变化,开发者都需要主动更新到 View 。