From: edison Date: Wed, 5 Nov 2025 03:55:27 +0000 (+0800) Subject: fix(runtime-vapor): remove v-cloak and add data-v-app after app mount (#14035) X-Git-Tag: v3.6.0-alpha.3~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=172cb8b1a1508de5a2d0cf33aba347b08a0aa958;p=thirdparty%2Fvuejs%2Fcore.git fix(runtime-vapor): remove v-cloak and add data-v-app after app mount (#14035) --- 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 } }