Vue双向数据绑定MVVM相关。

        vue采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty劫持data属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。

        MVVM

        M - Model ,Model代表数据模型,也可以在Model中定义数据,修改和操作业务逻辑。

        V - View ,View代表UI组件,它负责经数据模型转为UI展现出来。

        VM - ViewModel ,ViewModel监听模型数据的改变和控制视图行为(UI)、处理用户交互,简单理解就是一个同步View和Model的对象,链接Model和VIew。

                               Vue双向数据绑定MVVM相关。

  • View接受用户交互请求。
  • View将请求转交给ViewModel。
  • ViewModel操作Model数据更新。
  • Model更新完数据,通知ViewModel数据发生变化。
  • ViewModel更新View数据。

        MVC

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        Vue双向数据绑定MVVM相关。 

  • View接受用户交互请求。
  • View将请求转交给Controller处理。
  • Controller操作Model进行数据更新保存。
  • 数据更新保存之后,Model会通知View更新
  • View更新变化数据,使用户得到反馈。

        MVVM与MVC之间的不同点

  • ViewModel代替了Controller,在UI层之上。
  • ViewModel向View暴露他所需要的数据和指令对象。
  • ViewModel接受来自Model的数据。

        概括起来,MVVM是由MVC发展而来,通过在Model之上而在View之下增加一个非视觉的组件,将来自Model的数据映射到View中。

 

 

 

上一篇:MVC 阶段和MVVM阶段的对比


下一篇:2021-10-09 FrameLayou、BottomNavigationView、selector、回顾MVVM架构