Просмотр исходного кода

wip(vapor): mounted/beforeMounted lifecycle hooks

Evan You 1 год назад
Родитель
Сommit
ebe787108d

+ 1 - 1
packages/runtime-vapor/src/apiCreateApp.ts

@@ -16,7 +16,7 @@ const mountApp: AppMountFn<ParentNode> = (app, container) => {
     container.textContent = ''
   }
   const instance = createComponent(app._component)
-  insert(instance.block, container)
+  insert(instance, container)
   return instance
 }
 

+ 3 - 1
packages/runtime-vapor/src/dom/element.ts

@@ -1,4 +1,4 @@
-import { isArray } from '@vue/shared'
+import { invokeArrayFns, isArray } from '@vue/shared'
 import { renderEffect } from '../renderEffect'
 import { setText } from './prop'
 import { type Block, normalizeBlock } from '../block'
@@ -12,7 +12,9 @@ export function insert(
   if (block instanceof Node) {
     parent.insertBefore(block, anchor)
   } else if (isVaporComponent(block)) {
+    if (block.bm) invokeArrayFns(block.bm)
     insert(block.block, parent, anchor)
+    if (block.m) invokeArrayFns(block.m)
   } else if (isArray(block)) {
     for (let i = 0; i < block.length; i++) {
       insert(block[i], parent, anchor)