let parent = options.parent为什么是activeInstance没太懂...

来源:3-3 patch(上)

qq_飞越疯人院_1

2019-04-29

export function initLifecycle (vm: Component) {
  const options = vm.$options 
  let parent = options.parent
  ...
  这里的options.parent为什么是activeInstance了?
  不是当组件执行init()钩子时有了_isComponent后,
  执行initInternalComponent(vm, options)方法后添加到vm.$options.parent属性么?
  而且打印他们值也确实是一样的了。 不太明白activeInstance干啥的?

initInternalComponent() {
	const opts = vm.$options = Object.create(vm.constructor.options)
	opts.parent = options.parent
	...
}

写回答

1回答

qq_飞越疯人院_1

提问者

2019-04-29

哦! 终于懂了!原来在执行组件init钩子的时候,从外部引入了activeInstance这个变量,传参赋值名字就变成了parent了,没听明白造成的。


1
0

Vue.js 源码深入解析 深入理解Vue实现原理

全方位讲解 Vue.js 源码,进阶高级工程师

4986 学习 · 1038 问题

查看课程