From 5f4825e63af47c8b71d1551124f2925f0391bf31 Mon Sep 17 00:00:00 2001 From: ShenQingchuan Date: Sat, 11 Oct 2025 22:20:37 +0800 Subject: [PATCH 1/2] fix(compiler): using guard instead of nullish assertion --- .../compiler-core/src/transforms/transformVBindShorthand.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/compiler-core/src/transforms/transformVBindShorthand.ts b/packages/compiler-core/src/transforms/transformVBindShorthand.ts index ff5b51047a3..1a072d36d7d 100644 --- a/packages/compiler-core/src/transforms/transformVBindShorthand.ts +++ b/packages/compiler-core/src/transforms/transformVBindShorthand.ts @@ -15,9 +15,10 @@ export const transformVBindShorthand: NodeTransform = (node, context) => { if ( prop.type === NodeTypes.DIRECTIVE && prop.name === 'bind' && - !prop.exp + !prop.exp && + prop.arg ) { - const arg = prop.arg! + const arg = prop.arg if (arg.type !== NodeTypes.SIMPLE_EXPRESSION || !arg.isStatic) { // only simple expression is allowed for same-name shorthand context.onError( From 7ca42c8e1e7c612083c8c01df1e03b6e43a0ed91 Mon Sep 17 00:00:00 2001 From: daiwei Date: Wed, 5 Nov 2025 17:02:40 +0800 Subject: [PATCH 2/2] chore: tweaks --- .../compiler-core/src/transforms/transformVBindShorthand.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/compiler-core/src/transforms/transformVBindShorthand.ts b/packages/compiler-core/src/transforms/transformVBindShorthand.ts index f3e9fb5c5f2..210180822b6 100644 --- a/packages/compiler-core/src/transforms/transformVBindShorthand.ts +++ b/packages/compiler-core/src/transforms/transformVBindShorthand.ts @@ -15,13 +15,12 @@ export const transformVBindShorthand: NodeTransform = (node, context) => { if ( prop.type === NodeTypes.DIRECTIVE && prop.name === 'bind' && - !prop.exp && - prop.arg && (!prop.exp || // #13930 :foo in in-DOM templates will be parsed into :foo="" by browser (__BROWSER__ && prop.exp.type === NodeTypes.SIMPLE_EXPRESSION && - !prop.exp.content.trim())) + !prop.exp.content.trim())) && + prop.arg ) { const arg = prop.arg if (arg.type !== NodeTypes.SIMPLE_EXPRESSION || !arg.isStatic) {