@@ -145,18 +145,17 @@ export function createHydrationFunctions(
145
145
}
146
146
break
147
147
case Comment :
148
- if ( domType !== DOMNodeTypes . COMMENT || isFragmentStart ) {
149
- if ( ( node as Element ) . tagName . toLowerCase ( ) === 'template' ) {
150
- const content = ( vnode . el ! as HTMLTemplateElement ) . content
151
- . firstChild !
152
-
153
- // replace <template> node with inner children
154
- replaceNode ( content , node , parentComponent )
155
- vnode . el = node = content
156
- nextNode = nextSibling ( node )
157
- } else {
158
- nextNode = onMismatch ( )
159
- }
148
+ if ( isTemplateNode ( node ) ) {
149
+ nextNode = nextSibling ( node )
150
+ // wrapped <transition appear>
151
+ // replace <template> node with inner child
152
+ replaceNode (
153
+ ( vnode . el = node . content . firstChild ! ) ,
154
+ node ,
155
+ parentComponent
156
+ )
157
+ } else if ( domType !== DOMNodeTypes . COMMENT || isFragmentStart ) {
158
+ nextNode = onMismatch ( )
160
159
} else {
161
160
nextNode = nextSibling ( node )
162
161
}
@@ -209,7 +208,7 @@ export function createHydrationFunctions(
209
208
( domType !== DOMNodeTypes . ELEMENT ||
210
209
( vnode . type as string ) . toLowerCase ( ) !==
211
210
( node as Element ) . tagName . toLowerCase ( ) ) &&
212
- ! isTemplateNode ( node as Element )
211
+ ! isTemplateNode ( node )
213
212
) {
214
213
nextNode = onMismatch ( )
215
214
} else {
@@ -637,17 +636,16 @@ export function createHydrationFunctions(
637
636
let parent = parentComponent
638
637
while ( parent ) {
639
638
if ( parent . vnode . el === oldNode ) {
640
- parent . vnode . el = newNode
641
- parent . subTree . el = newNode
639
+ parent . vnode . el = parent . subTree . el = newNode
642
640
}
643
641
parent = parent . parent
644
642
}
645
643
}
646
644
647
- const isTemplateNode = ( node : Element ) : boolean => {
645
+ const isTemplateNode = ( node : Node ) : node is HTMLTemplateElement => {
648
646
return (
649
647
node . nodeType === DOMNodeTypes . ELEMENT &&
650
- node . tagName . toLowerCase ( ) === 'template'
648
+ ( node as Element ) . tagName . toLowerCase ( ) === 'template'
651
649
)
652
650
}
653
651
0 commit comments