]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
chore: Merge branch 'edison/feat/setScopeId' into edison/testVapor
authordaiwei <daiwei521@126.com>
Fri, 6 Jun 2025 09:02:54 +0000 (17:02 +0800)
committerdaiwei <daiwei521@126.com>
Fri, 6 Jun 2025 09:02:54 +0000 (17:02 +0800)
1  2 
packages/runtime-vapor/src/block.ts
packages/runtime-vapor/src/component.ts
packages/runtime-vapor/src/vdomInterop.ts

index d6be89efc39fb0ac23b7d41f83aa62cfd25dd07f,cd72863cedf46334ba58a7872f18293870eca206..31b71848dc2de6ac61a5571af2a2d4502e955ccb
@@@ -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
index 33f6d4ca8047e9300a1c73fe1352c3992cec0ecb,0e4e1c492ad05c85ee60523e7b17170c7b818c32..ee8799039ba21516435a7645d5376b53a381ca08
@@@ -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 {