From: daiwei Date: Fri, 6 Jun 2025 09:02:54 +0000 (+0800) Subject: chore: Merge branch 'edison/feat/setScopeId' into edison/testVapor X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0d5c3e6d1e5679e2ffd20635717c7645ab8a70a;p=thirdparty%2Fvuejs%2Fcore.git chore: Merge branch 'edison/feat/setScopeId' into edison/testVapor --- d0d5c3e6d1e5679e2ffd20635717c7645ab8a70a diff --cc packages/runtime-vapor/src/block.ts index d6be89efc3,cd72863ced..31b71848dc --- a/packages/runtime-vapor/src/block.ts +++ b/packages/runtime-vapor/src/block.ts @@@ -7,13 -8,8 +8,14 @@@ import } from './component' import { createComment, createTextNode } from './dom/node' import { EffectScope, pauseTracking, resetTracking } from '@vue/reactivity' -import { isHydrating } from './dom/hydration' +import { + currentHydrationNode, + isComment, + isHydrating, + locateHydrationNode, + locateVaporFragmentAnchor, +} from './dom/hydration' + import { queuePostFlushCb } from '@vue/runtime-dom' export type Block = | Node diff --cc packages/runtime-vapor/src/vdomInterop.ts index 33f6d4ca80,0e4e1c492a..ee8799039b --- a/packages/runtime-vapor/src/vdomInterop.ts +++ b/packages/runtime-vapor/src/vdomInterop.ts @@@ -203,31 -176,19 +204,33 @@@ function createVDOMComponent internals.umt(vnode.component!, null, !!parentNode) } + vnode.scopeId = parentInstance.type.__scopeId! + frag.insert = (parentNode, anchor) => { - if (!isMounted) { - internals.mt( - vnode, - parentNode, - anchor, - parentInstance as any, - null, - undefined, - false, - ) + if (!isMounted || isHydrating) { + if (isHydrating) { + ;( + vdomHydrateNode || + (vdomHydrateNode = ensureHydrationRenderer().hydrateNode!) + )( + currentHydrationNode!, + vnode, + parentInstance as any, + null, + null, + false, + ) + } else { + internals.mt( + vnode, + parentNode, + anchor, + parentInstance as any, + null, + undefined, + false, + ) + } onScopeDispose(unmount, true) isMounted = true } else {