在我们刚开始学习vue的时候,我们常常看到MVVM这个词。那么这个MVVM到底是什么意思呢?
看到MVVM我们就会下意识地想起MVC这个词,没错这两个不仅在字母上相似,在意义上也有共同点:
MVC:
MCV是一种使用MVC(Model View Controller 模型-视图-控制器)设计创建web应用程序的模式:
Model(模型):表示应用程序核心(如数据库)。
View(视图):显示效果(HTML)
controller(控制器):处理输入(业务逻辑)。
MVC模式同时提供了对HTML,css和javascript的完全控制。
Model(模式)是应用程序中用于处理应用程序数据逻辑部分,(后端)
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。(前端:html,css,js)
通常视图是依据模型数据创建的。‘
Controller(控制器)是应用程序中用户交互的部分
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
对于MVVM:
viewModel(视图模型):视图模型是暴露公共属性和命令的视图的抽象。MVVM没有MVC模式的控制器,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。
绑定器:
声明性数据和命令绑定隐含在MVVM模式中,在MICrosoft解决方案堆中,绑定器是一种名为XAML的标记语言。绑定器使开发人员免于被迫编写样板式逻辑来同步视图模型和视图。在微软的堆之外实现时声明性数据绑定技术的出现是实现该模式的一个关键因素。
MVVM的优点:和MVC模式一样,主要目的是分离视图(view)和模型(Model)