From ef69e746d2a4a03dc391d7e5efca8f125988b7a6 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Tue, 15 Feb 2022 09:43:17 +0000 Subject: [PATCH] fix(nuxt3): prevent removing and re-adding tags before mount (#3212) Co-authored-by: pooya parsa --- packages/bridge/src/runtime/app.plugin.mjs | 6 ++++++ packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts | 6 +----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/bridge/src/runtime/app.plugin.mjs b/packages/bridge/src/runtime/app.plugin.mjs index 159e000092..84e3992ee4 100644 --- a/packages/bridge/src/runtime/app.plugin.mjs +++ b/packages/bridge/src/runtime/app.plugin.mjs @@ -77,5 +77,11 @@ export default (ctx, inject) => { setNuxtAppInstance(proxiedApp) + if (process.client) { + window.onNuxtReady(() => { + nuxtApp.hooks.callHook('app:mounted', nuxtApp.vueApp) + }) + } + inject('_nuxtApp', proxiedApp) } diff --git a/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts b/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts index c073a7cc59..7f750ba4af 100644 --- a/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts +++ b/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts @@ -7,6 +7,7 @@ export default defineNuxtPlugin((nuxtApp) => { const head = createHead() nuxtApp.vueApp.use(head) + nuxtApp.hooks.hookOnce('app:mounted', () => { watchEffect(() => head.updateDOM()) }) nuxtApp._useMeta = (meta: MetaObject) => { const headObj = ref(meta as any) @@ -14,16 +15,11 @@ export default defineNuxtPlugin((nuxtApp) => { if (process.server) { return } - watchEffect(() => { - head.updateDOM() - }) - const vm = getCurrentInstance() if (!vm) { return } onBeforeUnmount(() => { head.removeHeadObjs(headObj) - head.updateDOM() }) }