Мета-заголовок обновления параметров маршрута Nuxt / Vue

#vue.js #axios #nuxt.js #meta-tags

#vue.js #axios #nuxt.js #мета-теги

Вопрос:

Итак, я использую Nuxt и Axios для сбора данных JSON через route.params.id все работает нормально, но теперь мне нужно перенести некоторые из этих данных в мой мета-заголовок, и я не могу понять, как это сделать, см. Неудачный пример ниже.

страницы / сообщения /_id/_slug.vue

 <template>
  <div id="content" class="block float-left w-full pt-32">
    <div class="block text-black mx-auto my-0 w-10/12" v-for="post in getData($route.params.id)" :key="post.id">

        <!-- column 1 -->
        <main class="block float-left md:pr-16 w-full md:w-9/12">
          <h1 class="block float-left w-full text-black mb-8 uppercase title">
            <span class="leading-none font-extrabold text-xl md:text-3xl">{{post.loc}}</span><br/>
            <span class="leading-none font-bold text-2xl md:text-5xl">{{post.serv}}</span>
          </h1>
          <div class="content block float-left w-full" v-html="post.cont" />
        </main>
        <!-- column 1 -->

    </div>
  </div>
</template>

  

Это работает нормально

 import json from '~/static/mpc-data.json'
export default {

  

Вот где все идет не так

   head () {
    return {
      meta_title: post.loc   post.serv,
      meta: [
        { hid: 'title', name: 'title', content: this.meta_title },
        { hid: 'og:title', name: 'og:title', content: this.meta_title }
      ]
    }
  }
  

Остальное — все работает нормально

   data () {
    return {
      posts: json,
      title: ''
    }
  },
  methods: {
    getData (id) {
      const data = this.posts
      return data.filter((item) => {
        return item.id === id
      })
    },
    getArea (loc) {
      const data = this.posts
      return data.filter((item) => {
        return item.loc === loc
      })
    }
  }
}
  

Ответ №1:

Я думаю, что это не meta_title но title . дополнительная ссылка:

https://nuxtjs.org/api/pages-head/