instance
2020-11-02 14:30:45 0 举报
AI智能生成
instance
作者其他创作
大纲/内容
uid: uid++,一个数量标记,uid为component.ts内的一个全局变量
vnode,一个visualNode,详情可以查看vnode图
parent,ComponentInternalInstance类型,和当前instance一个类型,为父组件的instance
type: vnode.type as Component,vnode图有注释
root: parent ? parent.root : instance,如果没有 自己就是root 可以说root是指向第一层了
next: null,在当前组件已经mounted的情况下,next为null,将设置为instance.vnode,下次update,将执行updateComponentPreRender
subTree: null,将在创建后同步正确
update: null,将在创建后同步正确
render: null,setupResult as InternalRenderFunction 将在setupStatefulComponent被赋值
proxy: null,是一个proxy代理ctx字段,内部使用this的时候,将会指向这个
withProxy: null
effects: null
provides: parent ? parent.provides : Object.create(appContext.provides),appContext只存在一个于顶层,顶层为emptyAppContext,provides可以看到是引用顶层的。
accessCache: null
renderCache: []
state
ctx: EMPTY_OBJ
data: EMPTY_OBJ
props: EMPTY_OBJ
attrs: EMPTY_OBJ
slots: EMPTY_OBJ
refs: EMPTY_OBJ
setupState: EMPTY_OBJ
setupContext: null,根据setup的长度来设置,instance.setupContext =
setup.length > 1 ? createSetupContext(instance) : null
setup.length > 1 ? createSetupContext(instance) : null
components: Object.create(appContext.components)
directives: Object.create(appContext.directives)
suspense,parentSuspense
asyncDep: null
asyncResolved: false
生命周期的钩子相关字段
isMounted: false
isUnmounted: false
isDeactivated: false
bc: null
c: null
bm: null as [] | null,使用api beforeMounted会用到,用来收集事件的一个数组
m: null
bu: null
u: null as [] | null,使用api onUpdated会用到,用来收集updated事件的一个数组
um: null
bum: null
da: null
a: null
rtg: null
rtc: null
ec: null
emit: emit.bind(null, instance) as any
0 条评论
下一页