From: edison Date: Tue, 6 Aug 2024 10:25:13 +0000 (+0800) Subject: fix(compiler-ssr): don't render v-if comments in TransitionGroup + static tag (#11515) X-Git-Tag: v3.4.36~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=275354caba295a6fb50695b70e97888a33c504e0;p=thirdparty%2Fvuejs%2Fcore.git fix(compiler-ssr): don't render v-if comments in TransitionGroup + static tag (#11515) close #11514 --- diff --git a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts index 905e6a4895..431ebaa77e 100644 --- a/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts +++ b/packages/compiler-ssr/__tests__/ssrTransitionGroup.spec.ts @@ -38,6 +38,28 @@ describe('transition-group', () => { `) }) + // #11514 + test('with static tag + comment', () => { + expect( + compile( + `
`, + ).code, + ).toMatchInlineSnapshot(` + "const { ssrRenderAttrs: _ssrRenderAttrs, ssrRenderList: _ssrRenderList } = require("vue/server-renderer") + + return function ssrRender(_ctx, _push, _parent, _attrs) { + _push(\`\`) + _ssrRenderList(_ctx.list, (i) => { + _push(\`
\`) + }) + if (false) { + _push(\`
\`) + } + _push(\`\`) + }" + `) + }) + test('with dynamic tag', () => { expect( compile( diff --git a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts index a2e284ae84..1d99a69109 100644 --- a/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts +++ b/packages/compiler-ssr/src/transforms/ssrTransformTransitionGroup.ts @@ -108,7 +108,7 @@ export function ssrProcessTransitionGroup( context.pushStringPart(` ${scopeId}`) } context.pushStringPart(`>`) - processChildren(node, context, false, true) + processChildren(node, context, false, true, true) context.pushStringPart(``) } } else {