MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式
M:模型(Model):对应data中的数据
V:视图(View):用户界面,也就是DOM
VM:视图模型(ViewModel):Vue实例对象,连接View和Model的桥梁
MVVM的核心是提供对View和ViewModel的双向数据绑定,当数据变化时,ViewModel能监听到数据的变化(通过Data Bindings),自动更新视图,而当用户操作视图,ViewModel也能监听到视图的变化(DOM Listeners),然后通知数据做改动,这就实现了数据的双向绑定。
ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。
MVVM与MVC有什么区别?
都是一种设计思想
MVC是Model-View-Contoller的简写,即模型-视图-控制器
MVC的目的是将M和V的代码分离
MVC是单向通信,也就是View和Model必须通过Controller来承上启下。
MVVM实现了View和Model的自动同步,当Model的属性改变时,不再需要自己手动操作DOM元素,提高了页面渲染性能。