MVVM:
MVVM,是Model-View-ViewModel的简写,是M-V-VM三部分组成。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,其中ViewModel将视图 UI 和业务逻辑分开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。
Vue官方文档原文:
虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变量名表示 Vue 实例。
M: 模型(Model),相当于Vue中data中的数据;
V: 视图(View),模板代码,展示给用户的DOM页面;
VM: 视图模型(ViewModel),Vue实例,充当View与Model之间通信的桥梁,如下图。
DOM Listeners: DOM 监听,当DOM发生一些事件时,可以监听到,并在需要的情况下改变对应的Data。
Data Bindings: 数据绑定,将Model的改变实时反映到View中。

在MVVM架构模型下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。