什么是MVVM模式?
Yogae 健身狂魔

什么是MVVM模式?

字面意思:MVVM Model-View-ViewModel

一句话总结 Web 前端 MVVM:操作数据,就是操作视图,就是操作 DOM(所以无须操作 DOM )。

MVVM,说到底还是一种分层架构。它的分层如下:

  • Model: 域模型,用于持久化
  • View: 作为视图模板存在
  • ViewModel: 作为视图的模型,为视图服务
  • Model 层

    它主要做域模型的同步

    Model 层,对应数据层的域模型,

    通过 Ajax/fetch 等 API 完成客户端和服务端业务 Model 的同步。在层间关系里,它主要用于抽象出 ViewModel 中视图的 Model。

    View 层

    View 层做的是 数据绑定的声明指令的声明事件绑定的声明

    View 层,作为视图模板存在,在 MVVM 里,整个 View 是一个动态模板。除了定义结构、布局外,它展示的是 ViewModel 层的数据和状态。View 层不负责处理状态,

    ViewModel 层

    ViewModel 层把 View 需要的层数据暴露,并对 View 层的 数据绑定声明指令声明事件绑定声明 负责,也就是处理 View 层的具体业务逻辑。ViewModel 底层会做好绑定属性的监听。

    当 ViewModel 中数据变化,View 层会得到更新;而当 View 中声明了数据的双向绑定(通常是表单元素),框架也会监听 View 层(表单)值的变化。一旦值变化,View 层绑定的 ViewModel 中的数据也会得到自动更新。