• MVVM、MVC 架构思想


    MVC

    一种设计模式,mvc分别表示M数据层,V视图层,C控制层

    视图层跟数据层是独立的,不能直接通信,是通过控制层来将model中的数据拿给view用,通过用户在视图层输入的指令来选取数据层中的数据

    这样是为了解耦跟重用

    MVVM 设计思想

    M数据,V视图,VM视图模型调用数据渲染视图的 

    MVVM模式中的视图层跟数据层也是独立的,通过VM来通信,当数据变化VM监听到这种变化通知视图做更新,当用户操作视图VM通知数据做改动

    区别于MVC的控制层,vm将数据转换或封装

    vm两个方向, (1)将模型转为视图 后端数据转为看到的页面  用数据绑定实现

            (2)视图转为模型  所见页面转为后端数据         用DOM事件监听实现

    两个方向都实现叫数据的双向绑定

    MVVM模式实现的是业务逻辑组件的重用,MVC模式出现的较早,vm也不是完全取代了mvc的控制器

    vue中双向数据绑定的实现 观察者--订阅者

    new Vue的时候vue就进入了初始化阶段

    一方面,将JS对象传给vue实例的data时,vue(通过遍历)会劫持监听所有属性,用Object.defineProperty()将这些方法转换为getter,setter方法

    当data中属性被访问调用getter方法,data中属性被改变时,调用setter方法

    另一方面,vue的指令编辑器会对vue元素节点的指令进行解析,初始化视图,订阅watcher来更新视图,当数据发生变化,setter方法被触发后,setter会立即调用Dep.notifty,dep开始遍历所有订阅者,调用订阅者updata方法,通知视图做更新

  • 相关阅读:
    视图类、二次封装、视图家族、GenericAPIView视图基类、mixins视图6大工具类、generic中的工具视图、路由组件
    单改、整体/局部修改、群改接口
    多表、序列化反序列化、群增单删群删接口
    解析模块
    drf框架
    vue-04
    vue-03
    VUE-02
    vue
    ❥《python入门到入土》全教程❥
  • 原文地址:https://www.cnblogs.com/dudududadada/p/13207451.html
Copyright © 2020-2023  润新知