diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index 6df6901a2bab40..f88e42b8b70aa6 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -255,7 +255,7 @@ async function genTemplateCode( ? `&src=${descriptor.id}` : '&src=true' : '' - const scopedQuery = hasScoped ? `&scoped=true` : `` + const scopedQuery = hasScoped ? `&scoped=${descriptor.id}` : `` const attrsQuery = attrsToQuery(template.attrs, 'js', true) const query = `?vue&type=template${srcQuery}${scopedQuery}${attrsQuery}` const request = JSON.stringify(src + query) @@ -342,7 +342,8 @@ async function genStyleCode( : '&src=true' : '' const directQuery = asCustomElement ? `&inline` : `` - const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}` + const scopedQuery = style.scoped ? `&scoped=${descriptor.id}` : `` + const query = `?vue&type=style&index=${i}${srcQuery}${directQuery}${scopedQuery}` const styleRequest = src + query + attrsQuery if (style.module) { if (asCustomElement) { @@ -443,7 +444,7 @@ async function linkSrcToDescriptor( // these are built-in query parameters so should be ignored // if the user happen to add them as attrs -const ignoreList = ['id', 'index', 'src', 'type', 'lang', 'module'] +const ignoreList = ['id', 'index', 'src', 'type', 'lang', 'module', 'scoped'] function attrsToQuery( attrs: SFCBlock['attrs'],