|
@@ -74,9 +74,8 @@ const vaporInteropImpl: Omit<
|
|
|
'vdomMount' | 'vdomUnmount' | 'vdomSlot'
|
|
'vdomMount' | 'vdomUnmount' | 'vdomSlot'
|
|
|
> = {
|
|
> = {
|
|
|
mount(vnode, container, anchor, parentComponent) {
|
|
mount(vnode, container, anchor, parentComponent) {
|
|
|
- let selfAnchor: Node | null = null
|
|
|
|
|
|
|
+ let selfAnchor = (vnode.el = vnode.anchor = createTextNode())
|
|
|
if (!isHydrating) {
|
|
if (!isHydrating) {
|
|
|
- selfAnchor = vnode.el = vnode.anchor = createTextNode()
|
|
|
|
|
container.insertBefore(selfAnchor, anchor)
|
|
container.insertBefore(selfAnchor, anchor)
|
|
|
}
|
|
}
|
|
|
const prev = currentInstance
|
|
const prev = currentInstance
|
|
@@ -120,6 +119,12 @@ const vaporInteropImpl: Omit<
|
|
|
vnode.transition as VaporTransitionHooks,
|
|
vnode.transition as VaporTransitionHooks,
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
+ if (isHydrating) {
|
|
|
|
|
+ // insert self anchor after hydration completed to avoid mismatching
|
|
|
|
|
+ ;(instance.m || (instance.m = [])).push(() => {
|
|
|
|
|
+ container.insertBefore(selfAnchor, anchor)
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
mountComponent(instance, container, selfAnchor)
|
|
mountComponent(instance, container, selfAnchor)
|
|
|
simpleSetCurrentInstance(prev)
|
|
simpleSetCurrentInstance(prev)
|
|
|
return instance
|
|
return instance
|
|
@@ -142,7 +147,7 @@ const vaporInteropImpl: Omit<
|
|
|
} else if (vnode.vb) {
|
|
} else if (vnode.vb) {
|
|
|
remove(vnode.vb, container)
|
|
remove(vnode.vb, container)
|
|
|
}
|
|
}
|
|
|
- if (vnode.anchor) remove(vnode.anchor as Node, container)
|
|
|
|
|
|
|
+ remove(vnode.anchor as Node, container)
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
/**
|