Skip to content

Commit 688ad92

Browse files
committed
fix(ssr): fix class/style rendering + ssrRenderComponent export name
1 parent 66b5f0b commit 688ad92

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

packages/compiler-ssr/__tests__/ssrElement.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,31 +77,31 @@ describe('ssr: element', () => {
7777
expect(
7878
getCompiledString(`<div id="foo" :class="bar"></div>`)
7979
).toMatchInlineSnapshot(
80-
`"\`<div id=\\"foo\\"\${_ssrRenderClass(_ctx.bar)}></div>\`"`
80+
`"\`<div id=\\"foo\\" class=\\"\${_ssrRenderClass(_ctx.bar)}\\"></div>\`"`
8181
)
8282
})
8383

8484
test('static class + v-bind:class', () => {
8585
expect(
8686
getCompiledString(`<div class="foo" :class="bar"></div>`)
8787
).toMatchInlineSnapshot(
88-
`"\`<div\${_ssrRenderClass([_ctx.bar, \\"foo\\"])}></div>\`"`
88+
`"\`<div class=\\"\${_ssrRenderClass([_ctx.bar, \\"foo\\"])}\\"></div>\`"`
8989
)
9090
})
9191

9292
test('v-bind:style', () => {
9393
expect(
9494
getCompiledString(`<div id="foo" :style="bar"></div>`)
9595
).toMatchInlineSnapshot(
96-
`"\`<div id=\\"foo\\"\${_ssrRenderStyle(_ctx.bar)}></div>\`"`
96+
`"\`<div id=\\"foo\\" style=\\"\${_ssrRenderStyle(_ctx.bar)}\\"></div>\`"`
9797
)
9898
})
9999

100100
test('static style + v-bind:style', () => {
101101
expect(
102102
getCompiledString(`<div style="color:red;" :style="bar"></div>`)
103103
).toMatchInlineSnapshot(
104-
`"\`<div\${_ssrRenderStyle([_hoisted_1, _ctx.bar])}></div>\`"`
104+
`"\`<div style=\\"\${_ssrRenderStyle([_hoisted_1, _ctx.bar])}\\"></div>\`"`
105105
)
106106
})
107107

packages/compiler-ssr/src/transforms/ssrTransformElement.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,21 +176,25 @@ export const ssrTransformElement: NodeTransform = (node, context) => {
176176
// static key attr
177177
if (attrName === 'class') {
178178
openTag.push(
179+
` class="`,
179180
(dynamicClassBinding = createCallExpression(
180181
context.helper(SSR_RENDER_CLASS),
181182
[value]
182-
))
183+
)),
184+
`"`
183185
)
184186
} else if (attrName === 'style') {
185187
if (dynamicStyleBinding) {
186188
// already has style binding, merge into it.
187189
mergeCall(dynamicStyleBinding, value)
188190
} else {
189191
openTag.push(
192+
` style="`,
190193
(dynamicStyleBinding = createCallExpression(
191194
context.helper(SSR_RENDER_STYLE),
192195
[value]
193-
))
196+
)),
197+
`"`
194198
)
195199
}
196200
} else {

packages/server-renderer/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
export { renderToString } from './renderToString'
33

44
// internal runtime helpers
5-
export { renderComponent } from './renderToString'
5+
export { renderComponent as ssrRenderComponent } from './renderToString'
66
export { ssrRenderSlot } from './helpers/ssrRenderSlot'
77
export {
88
ssrRenderClass,

0 commit comments

Comments
 (0)