Skip to content

Commit a6cdef8

Browse files
committed
feat: support component in v-if
1 parent a0388b1 commit a6cdef8

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/core/v-if.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export function transformVIf(
2828
s.remove(start!, consequent.start!)
2929
}
3030
else {
31-
overwrite(start, consequent.start!, `<template${directive}>${isJSXExpressionConsequent ? '' : '{{'}`, s)
31+
overwrite(start, consequent.start!, `<template${directive}>${isJSXExpressionConsequent ? '' : '<component :is="__createTextVNode('}`, s)
3232
}
3333

3434
if (isJSXElement(alternate)) {
@@ -37,7 +37,7 @@ export function transformVIf(
3737
s.remove(consequent.end!, alternate.start!)
3838
}
3939
else {
40-
overwrite(consequent.end!, alternate.start!, `${isJSXExpressionConsequent ? '' : '}}'}</template>`, s)
40+
overwrite(consequent.end!, alternate.start!, `${isJSXExpressionConsequent ? '' : ')" />'}</template>`, s)
4141
}
4242
s.remove(alternate.end!, end)
4343
}
@@ -50,11 +50,11 @@ export function transformVIf(
5050
alternate.start!,
5151
`${isJSXElementConsequent
5252
? ''
53-
: `${isJSXExpressionConsequent ? '' : '}}'
54-
}</template>`}<template v-else>${isJSXExpressionAlternate ? '' : '{{'}`,
53+
: `${isJSXExpressionConsequent ? '' : ')" />'
54+
}</template>`}<template v-else>${isJSXExpressionAlternate ? '' : '<component :is="__createTextVNode('}`,
5555
s,
5656
)
57-
overwrite(alternate.end!, end, `${isJSXExpressionAlternate ? '' : '}}'}</template>`, s)
57+
overwrite(alternate.end!, end, `${isJSXExpressionAlternate ? '' : ')" />'}</template>`, s)
5858
}
5959
else {
6060
s.remove(consequent.end!, alternate.start!)

0 commit comments

Comments
 (0)