首页 > 其他 > 详细

实现一个最小版本vue(六)之总结

时间:2020-07-08 17:32:42      阅读:52      评论:0      收藏:0      [点我收藏+]

技术分享图片

  1. 创建Vue实例对象,记录传入的选项,并注入到Vue实例当中
  2. 创建observer
    1. observer数据劫持,通过Object.defineProperty把data中属性转换成getter和setter,当数据变化,触发setter方法时,告诉dep,通知变化,要调用dep的notify方法
    2. dep的notify方法,发送通知,会调用watcher的update方法,更新视图
      1. 这是数据变化的时候才会发生的
    3. 创建watcher对象的时候,会把当前的watcher对象添加到dep的subs数组中,就是收集dep依赖的watcher。
  3. 创建compiler
    1. 解析指令,解析差值表达式。页面首次加载,会去调用compiler里的相关方法,渲染视图
    2. compiler里订阅数据变化(实例化watcher),当数据变化,dep会通知watcher
    3. 绑定更新函数,就是实例化watcher时,要传入回调函数,在回调函数里更新视图
  4. 页面首次加载,通过compiler渲染视图,数据变化时通过watcher渲染视图

实现一个最小版本vue(六)之总结

原文:https://www.cnblogs.com/Evo1uti0n/p/13267843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!