]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore: update
authordaiwei <daiwei521@126.com>
Wed, 19 Mar 2025 00:40:55 +0000 (08:40 +0800)
committerdaiwei <daiwei521@126.com>
Wed, 19 Mar 2025 00:40:55 +0000 (08:40 +0800)
packages/runtime-vapor/src/apiDefineAsyncComponent.ts
packages/runtime-vapor/src/apiTemplateRef.ts
packages/runtime-vapor/src/block.ts

index 1a97731cb0ec424a238b930e32d88cda7f487c77..ddd91c06c8b45930f51f592f543adf42670674e9 100644 (file)
@@ -94,16 +94,16 @@ export function defineVaporAsyncComponent<T extends VaporComponent>(
 
       renderEffect(() => {
         resolvedComp = getResolvedComp()
-        let blockFn
+        let render
         if (loaded.value && resolvedComp) {
-          blockFn = () => createInnerComp(resolvedComp!, instance, frag)
+          render = () => createInnerComp(resolvedComp!, instance, frag)
         } else if (error.value && errorComponent) {
-          blockFn = () =>
+          render = () =>
             createComponent(errorComponent, { error: () => error.value })
         } else if (loadingComponent && !delayed.value) {
-          blockFn = () => createComponent(loadingComponent)
+          render = () => createComponent(loadingComponent)
         }
-        frag.update(blockFn)
+        frag.update(render)
       })
 
       return frag
@@ -117,14 +117,21 @@ function createInnerComp(
   frag?: DynamicFragment,
 ): VaporComponentInstance {
   const { rawProps, rawSlots, isSingleRoot, appContext } = parent
-  const i = createComponent(comp, rawProps, rawSlots, isSingleRoot, appContext)
+  const instance = createComponent(
+    comp,
+    rawProps,
+    rawSlots,
+    isSingleRoot,
+    appContext,
+  )
+
   // set ref
-  frag && frag.setRef && frag.setRef(i)
+  frag && frag.setRef && frag.setRef(instance)
 
   // TODO custom element
   // pass the custom element callback on to the inner comp
   // and remove it from the async wrapper
   // i.ce = ce
   // delete parent.ce
-  return i
+  return instance
 }
index e5a58537a9a6757bab334031301425756743ffb5..1ec0d65ef100bdae35919b09260a9d03affd6e48 100644 (file)
@@ -56,7 +56,7 @@ export function setRef(
     const frag = i.block as DynamicFragment
     // async component not resolved yet
     if (!i.type.__asyncResolved) {
-      frag.setRef = n => setRef(instance, n, ref, oldRef, refFor)
+      frag.setRef = i => setRef(instance, i, ref, oldRef, refFor)
       return
     }
 
index a0bdcd9465966fca99f9fe0100f0950ff0bb6b54..ca2b97a0681f6428a31a99178dd8548ac0d24644 100644 (file)
@@ -8,7 +8,6 @@ import {
 import { createComment, createTextNode } from './dom/node'
 import { EffectScope, pauseTracking, resetTracking } from '@vue/reactivity'
 import { isHydrating } from './dom/hydration'
-import type { RefEl } from './apiTemplateRef'
 
 export type Block =
   | Node
@@ -24,7 +23,7 @@ export class VaporFragment {
   anchor?: Node
   insert?: (parent: ParentNode, anchor: Node | null) => void
   remove?: (parent?: ParentNode) => void
-  setRef?: (el: RefEl) => void
+  setRef?: (comp: VaporComponentInstance) => void
 
   constructor(nodes: Block) {
     this.nodes = nodes