From ad52b795e28e96d5a943ed079bb8a343f3c30fbe Mon Sep 17 00:00:00 2001 From: Dizzy <19627670+Diizzayy@users.noreply.github.com> Date: Wed, 16 Feb 2022 17:34:06 -0400 Subject: [PATCH] fix: apply subsequent meta changes (#3271) --- .../nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 7f750ba4a..97dc3eadd 100644 --- a/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts +++ b/packages/nuxt3/src/meta/runtime/lib/vueuse-head.plugin.ts @@ -7,7 +7,12 @@ export default defineNuxtPlugin((nuxtApp) => { const head = createHead() nuxtApp.vueApp.use(head) - nuxtApp.hooks.hookOnce('app:mounted', () => { watchEffect(() => head.updateDOM()) }) + + let headReady = false + nuxtApp.hooks.hookOnce('app:mounted', () => { + watchEffect(() => { head.updateDOM() }) + headReady = true + }) nuxtApp._useMeta = (meta: MetaObject) => { const headObj = ref(meta as any) @@ -15,11 +20,16 @@ export default defineNuxtPlugin((nuxtApp) => { if (process.server) { return } + if (headReady) { + watchEffect(() => { head.updateDOM() }) + } + const vm = getCurrentInstance() if (!vm) { return } onBeforeUnmount(() => { head.removeHeadObjs(headObj) + head.updateDOM() }) }