zoukankan      html  css  js  c++  java
  • Vue源码解析

    Vue 源码解析

    一、实现双向绑定的方式有哪些?

    • 发布者-订阅者模式
    • 脏值检测
    • 数据劫持

    ![image-20201009100212582](/Users/zhoupanpan/Library/Application Support/typora-user-images/image-20201009100212582.png)

    ![image-20201009100449596](/Users/zhoupanpan/Library/Application Support/typora-user-images/image-20201009100449596.png)

    二、你所理解的MVVM

    vue是采用数据劫持配合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,在数据变动时,发布消息给依赖收集器,去通知观察者,做出对应的回调函数,去更新视图。

    MVVM作为绑定的入口,整合Observer,Compile和Watcher三者,通过Observer来监听model数据变化表,通过Compile来解析编译模板指令,最终利用Watcher搭起Observer,Compile之间的通信桥梁,达到数据变化=>视图更新;视图交互变化=>数据model变更的双向绑定效果。

    https://github.com/DMQ/mvvm

  • 相关阅读:
    hdu 2196(树上点分治)
    hdu 4807(网络流 + 贪心)
    hdu4101
    hdu4216
    hdu 4219, 树形概率DP
    hdu 4127 A*搜索
    hdu 4126
    hdu 5296,15年多校1-7
    poj3436 ACM Computer Factory
    Fence
  • 原文地址:https://www.cnblogs.com/zppsakura/p/13797966.html
Copyright © 2011-2022 走看看