From 172cb8b1a1508de5a2d0cf33aba347b08a0aa958 Mon Sep 17 00:00:00 2001 From: edison Date: Wed, 5 Nov 2025 11:55:27 +0800 Subject: [PATCH] fix(runtime-vapor): remove v-cloak and add data-v-app after app mount (#14035) --- .../__tests__/directives/vCloak.spec.ts | 17 +++++++++++++++++ packages/runtime-vapor/src/apiCreateApp.ts | 7 ++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 packages/runtime-vapor/__tests__/directives/vCloak.spec.ts diff --git a/packages/runtime-vapor/__tests__/directives/vCloak.spec.ts b/packages/runtime-vapor/__tests__/directives/vCloak.spec.ts new file mode 100644 index 0000000000..e69c5eadae --- /dev/null +++ b/packages/runtime-vapor/__tests__/directives/vCloak.spec.ts @@ -0,0 +1,17 @@ +import { createVaporApp, template } from '../../src' + +describe('vCloak', () => { + test('should be removed after mount', () => { + const root = document.createElement('div') + root.setAttribute('v-cloak', '') + createVaporApp({ + setup() { + expect(root.hasAttribute('v-cloak')).toBe(true) + expect(root.hasAttribute('data-v-app')).toBe(false) + return template(`
`)() + }, + }).mount(root) + expect(root.hasAttribute('v-cloak')).toBe(false) + expect(root.hasAttribute('data-v-app')).toBe(true) + }) +}) diff --git a/packages/runtime-vapor/src/apiCreateApp.ts b/packages/runtime-vapor/src/apiCreateApp.ts index 89fc6179ee..37e77e8831 100644 --- a/packages/runtime-vapor/src/apiCreateApp.ts +++ b/packages/runtime-vapor/src/apiCreateApp.ts @@ -94,7 +94,12 @@ function postPrepareApp(app: App) { const mount = app.mount app.mount = (container, ...args: any[]) => { container = normalizeContainer(container) as ParentNode - return mount(container, ...args) + const proxy = mount(container, ...args) + if (container instanceof Element) { + container.removeAttribute('v-cloak') + container.setAttribute('data-v-app', '') + } + return proxy } } -- 2.47.3