diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts
index b0061012..c43886fc 100644
--- a/packages/plugin-vue/src/main.ts
+++ b/packages/plugin-vue/src/main.ts
@@ -486,7 +486,16 @@ 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', 'scoped']
+const ignoreList = [
+ 'id',
+ 'index',
+ 'src',
+ 'type',
+ 'lang',
+ 'module',
+ 'scoped',
+ 'generic',
+]
function attrsToQuery(
attrs: SFCBlock['attrs'],
diff --git a/playground/vue/Main.vue b/playground/vue/Main.vue
index ce3661c7..1fbea3df 100644
--- a/playground/vue/Main.vue
+++ b/playground/vue/Main.vue
@@ -27,10 +27,11 @@
+
+
+
+ TS with Generics
+ {{ msg }}
+
diff --git a/playground/vue/__tests__/vue.spec.ts b/playground/vue/__tests__/vue.spec.ts
index 0974fa23..c356f53f 100644
--- a/playground/vue/__tests__/vue.spec.ts
+++ b/playground/vue/__tests__/vue.spec.ts
@@ -323,3 +323,7 @@ describe('macro imported types', () => {
)
})
})
+
+test('TS with generics', async () => {
+ expect(await page.textContent('.generic')).toMatch('hello')
+})