Доступ к хранилищу vuex в квазаре для мета - PullRequest
1 голос
/ 14 февраля 2020

Я использую квазар в режиме SSR и хотел бы реализовать метаданные. Квазар имеет плагин для метаданных, и я хотел его использовать.

Пока мой проект довольно прост, у меня есть страница product (/ product /: id), которая отображает информацию о продукте.

На странице Product я использую предварительную выборку для извлечения данных из удаленная база API по идентификатору параметра.

<template>
  <q-page padding>
      <div v-if="product">
        <h1>{{product.name}}</h1>
        <span v-html="product.description"/>
      </div>
  </q-page>
</template>

<script>
import store from '../store'
export default {
  name: 'Product',
  async preFetch ({ store, currentRoute }) {
    let id = currentRoute.params.id
    if (typeof store.getters['product/getProduct'](id) === 'undefined') {
      let promise = store.dispatch('product/fetchProduct', id)
      await promise.then({})
    }
  },
  computed: {
    product () {
      return this.$store.getters['product/getProduct'](this.$route.params.id)
    }
  }
}
</script>

Пока все работы найди. Мои данные установлены в магазине перед рендерингом. Но теперь я хотел иметь мета-заголовок. Но в мета как я могу получить доступ к магазину и route.params.id.

<script>

export default {
  name 'Product',
  ...
  meta: {
    title: store.getters['product/getProductMetaTitle'](route.params.id)
  }
}
</script>
...