Skip to content

Commit 76320f1

Browse files
fix: scoped styles not entirely implemented
1 parent 90efc48 commit 76320f1

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

js/src/esmVueTemplate.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export async function compileSfc(sfcStr, mixin) {
5252
await init()
5353
const parsedTemplate = parse(sfcStr)
5454
const { descriptor: {script, scriptSetup, template, styles} } = parsedTemplate;
55+
const hasScopedStyles = styles ? styles.some(({ scoped }) => scoped) : false;
5556
const scopeId = hashSfcId(sfcStr);
5657
const filename = `${scopeId}.vue`;
5758

@@ -97,7 +98,7 @@ export async function compileSfc(sfcStr, mixin) {
9798
const compiledTemplate = template && compileTemplate({
9899
filename,
99100
id: scopeId,
100-
scoped: styles ? styles.some(({ scoped }) => scoped) : false,
101+
scoped: hasScopedStyles,
101102
source: template.content,
102103
compilerOptions: {
103104
bindingMetadata: compiledScript ? compiledScript.bindings : {},
@@ -113,6 +114,7 @@ export async function compileSfc(sfcStr, mixin) {
113114
return {
114115
...(template && templateModule),
115116
...(setup && {setup}),
117+
...(hasScopedStyles && { __scopeId: `data-v-${scopeId}` }),
116118
mixins: [rest || {}, mixin],
117119
};
118120
}

0 commit comments

Comments
 (0)