diff --git a/packages/compiler-sfc/__tests__/compileScript.spec.ts b/packages/compiler-sfc/__tests__/compileScript.spec.ts index 73c6d316a..b2a8036a0 100644 --- a/packages/compiler-sfc/__tests__/compileScript.spec.ts +++ b/packages/compiler-sfc/__tests__/compileScript.spec.ts @@ -1007,7 +1007,7 @@ describe('SFC compile `), @@ -1017,7 +1017,7 @@ describe('SFC compile `), @@ -1027,7 +1027,7 @@ describe('SFC compile + `), + ).toThrow( + 'defineModel() must be assigned to a variable. For example: const model = defineModel()', + ) + }) }) diff --git a/packages/compiler-sfc/src/script/defineModel.ts b/packages/compiler-sfc/src/script/defineModel.ts index 050828002..746bbabe5 100644 --- a/packages/compiler-sfc/src/script/defineModel.ts +++ b/packages/compiler-sfc/src/script/defineModel.ts @@ -22,6 +22,13 @@ export function processDefineModel( return false } + if (!declId) { + ctx.error( + 'defineModel() must be assigned to a variable. For example: const model = defineModel()', + node, + ) + } + ctx.hasDefineModelCall = true const type =