diff --git a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap index 949c9946d9f..073874363b8 100644 --- a/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap +++ b/packages/compiler-sfc/__tests__/__snapshots__/compileScript.spec.ts.snap @@ -696,14 +696,14 @@ return { get vMyDir() { return vMyDir } } exports[`SFC compile `) expect(content).toMatch( `return { get FooBar() { return FooBar }, get foo() { return foo }, ` + - `get bar() { return bar } }` + `get bar() { return bar }, get baz() { return baz } }` ) assertCode(content) }) diff --git a/packages/compiler-sfc/src/script/importUsageCheck.ts b/packages/compiler-sfc/src/script/importUsageCheck.ts index f3c3932d829..a7e2e6f3565 100644 --- a/packages/compiler-sfc/src/script/importUsageCheck.ts +++ b/packages/compiler-sfc/src/script/importUsageCheck.ts @@ -50,12 +50,14 @@ function resolveTemplateUsageCheckString(sfc: SFCDescriptor) { if (!isBuiltInDirective(prop.name)) { code += `,v${capitalize(camelize(prop.name))}` } + + // process dynamic directive arguments if (prop.arg && !(prop.arg as SimpleExpressionNode).isStatic) { - code += `,${processExp( - (prop.arg as SimpleExpressionNode).content, - prop.name + code += `,${stripStrings( + (prop.arg as SimpleExpressionNode).content )}` } + if (prop.exp) { code += `,${processExp( (prop.exp as SimpleExpressionNode).content,