MVVM与MVC

279 阅读1分钟

MVC

所有通信都是单向的,提交一次反馈一次,通信一次相互制约。

  • 视图(View):用户界面。(传送指令到Controller)
  • 控制器(Controller):业务逻辑(完成业务逻辑后,要求Model改变状态)
  • 模型(Model):数据保存(将新的数据发送到View,用户得到反馈)

MVC允许在不改变视图的情况下改变视图对用户输入的响应方式,用户对View的操作交给了Controller处理,在Controller中响应View的事件调用Model的接口对数据进行操作,一旦Model发生变化便通知相关视图进行更新。

MVVM

前后端分离:Model用纯JavaScript对象表示,View负责显示。 Model:服务器的业务逻辑操作(数据)

View:用户界面(视图)

ViewModel:核心枢纽(转换器)

ViewModel负责把Model的数据同步到View显示出来,还负责把View修改同步到Model。

View与Model不发生联系,都通过ViewModel传递。

ViewModel主要做两件事:

  1. 把Model中的数据绑定到View。
  2. 监听View,把事件,界面操作,回调给Model中的JavaScript中的对象,函数。