kkb-2-04-vue源码解读(0703日)

背诵

在这里插入图片描述

initMixin做了哪些事情。

在这里插入图片描述

initGlobalApi
Observer
defineReactive 和数组的响应式
Watch 和Dep

Dep的三个方法(addSub,removeSub,depend,notify),dep创建的地方有两处,1.defineReactive每一个key都有自动创建一个Watch,2.就是Observer这个类中对整体的data添加了一个Dep。
Watch的方法(addDep和update,其中update中调用了queueWatcher)

这篇源码讲解也是可以的。

https://juejin.im/post/5adff30f518825672d33d596

initGlobalAPI(事实证明initGlobalApi在initMixin后边执行)

设置了Vue.set,Vue.delete,Vue.nextTick,
注册Vue.use,Vue.mixin,Vue.extend
注册Vue.component/directive/filter
在这里插入图片描述

Vue构造函数里

initMixin
stateMixin(设置了$set,$delete,$watch)
最后返回一个observe()函数,创建了一个new Observer()
eventsMixin(设置了$on,$emit,$off,$once)
lifecycleMixin(设置了_render,$nextTick)

  • 最后触发了new Watch, watch构造函数触发了this.get(),触发了updateComponent,触发了组件的_update
    renderMixin(调用了_render,$nextTick)
initMixin

initLifecycle(设置了$parent,$root,$children)
initEvents(父组件中定义的需要子组件处理的事件,绑定到自组件的this上)
initRenders($slots初始化,$scopedSlots初始化,$createElement函数声明,_c函数的声明,$attrs,$listeners响应化)

  • $createElement 用户编写的时候使用,_c函数编译器使用
    initInjections 注入内容的响应变化
    initState(对data,props,methods,watch,computed的初始化都在这里)
    initProvide
esm ,commonjs,umd,runtime 我们这次测试用的是umd在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文档一

在这里插入图片描述
在这里插入图片描述

文档二

在这里插入图片描述

文档三

在这里插入图片描述

文档四
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值