@zettt
UX/UI Web-designer, junior Vue.js devolper

Как вытащить параметры из asyncData nuxt?

Как я могу получить параметры из asyncData в mounted()?
Мне нужно переписать страницу т.к. при перезагрузке он крашится из-за того, что пытается вытащить данные которых пока нет. Эту страницу писал прогер до меня и чтобы это исправить я решил переписать, но мне нужно получить этот params, как я могу это сделать?
Вот код:
async asyncData({ store, params, redirect }) {
    await store.dispatch("getPlaycategories");
    await store.dispatch("getPlayground", params.id);
    let data = JSON.parse(JSON.stringify(store.state.playground));
    let param = params
    this.params = param // this.params, я создал в data() и пытаюсь присвоить ей значение из param
    if (store.state.user.id != data.owner) {
      redirect("/mycabinet");
    }

    let playcategory = store.state.playcategories.find(
      item => item.id == data.category
    );
    let booking_data = await store.dispatch("getPlaygroundBooking", params.id);
    let months = ru.months;

    return {
      data,

      modalShow: false,
      testIndex: "0",

      booking_data,
      playcategory,
      filter: {
        date: {
          from: null,
          to: null
        },
        search: "",
        type: null,
        sort: -1
      },
      months
    };
  },
  • Вопрос задан
  • 3069 просмотров
Пригласить эксперта
Ответы на вопрос 1
IgorPI
@IgorPI
Коллега, установи данные по дефолту.в data

data
data: function () {
      return {
        organization: {
          name: "",
          reviews: [],
          images: [],
        }
    },


asyncData
async asyncData({query, $axios}) {

      let params = Object.assign({}, query)

      let organization = {}
      await $axios.$get(`${process.env.api}/organizations.getById`, {
        params
      }).then(({code, data}) => {
        organization = data
      });


      return {
        organization
      }
    },


После этих манипуляций нечего крошиться не будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы