vue笔记

作者: 丶维她命 | 来源:发表于2020-02-19 17:19 被阅读0次

    设计模式(MVC/MVP/MVVM)

    MVC(Model View Controller):

    1. 数据模型(Model):数据保存,代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑
    2. 视图(View):代表UI 组件,它负责将数据模型转化成UI 展现出来。
    3. 控制器(Controller):业务逻辑
    • MVC特点:
      1. 用户可以向 View 发送指令(DOM 事件),再由 View 直接要求 Model 改变状态。
      2. 用户也可以直接向 Controller 发送指令,再由 Controller 发送给 View。
      3. Controller 非常薄,只起到路由的作用,而 View 非常厚,业务逻辑都部署在 View。

    MVVM(Model-View-ViewModel )

    1. Model 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。
    2. View 代表UI 组件,它负责将数据模型转化成UI 展现出来。
    3. ViewModel 监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步View 和 Model的对象,连接Model和View。
    • MVVM特点
      在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。
      ViewModel 通过双向数据绑定把 View 层和 Model 层连接了起来,而View 和 Model 之间的同步工作完全是自动的,无需人为干涉,因此开发者只需关注业务逻辑,不需要手动操作DOM, 不需要关注数据状态的同步问题,复杂的数据状态维护完全由 MVVM 来统一管理。

    Vue核心原理:

    1. Vue由数据驱动,Vue是一个提供了MVVM风格的双向数据绑定的Javascript库,专注于View 层。它让开发者省去了操作DOM的过程,只需要改变数据即可。
    2. Vue实现数据双向绑定,采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。
    3. 虚拟DOM,vue会建立虚拟dom树,当被监测的数据改变会通过Object.defineProperty定义的数据拦截,截取到数据的变化,从而通过发布订阅者模式,触发Watcher(观察者),从而改变虚拟dom的具体数据,从而改变最后渲染的dom树的值,完成双向数据绑定

    相关文章

      网友评论

          本文标题:vue笔记

          本文链接:https://www.haomeiwen.com/subject/rwnafhtx.html