Estoy insertando la lógica vue-meta dentro del código actual y parece haber un problema de que metaInfo aún no está disponible cuando se activa el watch .
export default { metaInfo () { return { title: this.title, meta: [], } }, watch: { article() { if (this.article) { this.generatedHtml = this.applySnippets(); } }, }, computed: { article() { return this.$store.getters.CONTENT; }, title() { if (this.article !== null) { return this.article.info.caption; } return ''; }, } created() { this.$store.commit('CLEAR_CONTENT'); this.$store.dispatch('FETCH_CONTENT', { slug: this.slug, component: this }); }, methods: { applySnippets() { if (!this.article.snippets || this.article.snippets.length === 0) { return this.article.data.content; } this.article.snippets.forEach(snippet => { if (snippet.type === 'meta') this.metaInfo.meta.push(snippet.object); }); }, Falla que this.metaInfo no esté definido durante esta fase del ciclo de vida de Vue. ¿Qué hacer?
Para acceder al resultado de metaInfo en la API de opciones, use this.$metaInfo (tenga en cuenta el prefijo $ ):
if (snippet.type === 'meta') this.$metaInfo.meta.push(snippet.object); 👆