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

MVVM

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

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

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

Vue的MVVM_数据

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

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