diff --git a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts
index 40070778b2a..66f988d3474 100644
--- a/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts
+++ b/packages/compiler-core/__tests__/transforms/transformExpressions.spec.ts
@@ -540,6 +540,16 @@ describe('compiler: expression transform', () => {
const { code } = compileWithBindingMetadata(`
{{ literal }}
`, {
inline: true
})
+ expect(code).toMatch(`toDisplayString(literal)`)
+ // #7973 should skip patch for literal const
+ expect(code).not.toMatch(
+ `${PatchFlags.TEXT} /* ${PatchFlagNames[PatchFlags.TEXT]} */`
+ )
+ })
+
+ test('literal const handling, non-inline mode', () => {
+ const { code } = compileWithBindingMetadata(`{{ literal }}
`)
+ expect(code).toMatch(`toDisplayString(literal)`)
// #7973 should skip patch for literal const
expect(code).not.toMatch(
`${PatchFlags.TEXT} /* ${PatchFlagNames[PatchFlags.TEXT]} */`
diff --git a/packages/compiler-core/src/transforms/transformExpression.ts b/packages/compiler-core/src/transforms/transformExpression.ts
index 080d61d739f..466027682b1 100644
--- a/packages/compiler-core/src/transforms/transformExpression.ts
+++ b/packages/compiler-core/src/transforms/transformExpression.ts
@@ -202,6 +202,8 @@ export function processExpression(
return `$setup.${raw}`
} else if (type === BindingTypes.PROPS_ALIASED) {
return `$props['${bindingMetadata.__propsAliases![raw]}']`
+ } else if (type === BindingTypes.LITERAL_CONST) {
+ return raw
} else if (type) {
return `$${type}.${raw}`
}