Невозможно получить значения магазина при прямом нажатии на ссылку - PullRequest
1 голос
/ 03 июня 2019

Переход по ссылке с веб-сайта без посещения домашней страницы не устанавливает значения в магазине.

Я сделал вызовы axios в действии nuxtServerInit и установил данные в мутациях.Сейчас я могу получить доступ к этим данным в любом месте проекта, но если я загружаю определенную страницу с веб-сайта, то данные не отображаются до обновления.

Ниже приводится store/index.js файл

/* eslint-disable */

import Vuex from 'vuex'
import axios from 'axios'
const createStore = () => {
  return new Vuex.Store({
    state: {
      organisation: Object,
    },
    mutations: {
      setOrganisation(state, organisation){
        state.organisation = organisation
      },
    },
    actions: {
      nuxtServerInit({ commit }, context){
        axios.get(api-link-to-fetch-data-from-backend))
        .then(res => {
          commit("setOrganisation", res.data[0])
        })
        .catch(e => context.error(e));       
      }
    },
    getters: {
      getOrganisation(state){
        return state.organisation;
      }
    }
  })
}

Эти данные необходимо использовать на панели навигации.Таким образом, он извлекается из хранилища в layout/default.vue в created method, например,

created() {
    this.organisation = this.$store.getters.getOrganisation;
}

Поскольку nuxtServerInit является первой функцией, которая вызывается в жизненном цикле nuxt, почему данные не сохраняются, когдаДоступ к какой-либо ссылке с веб-сайта осуществляется напрямую?

Пример здесь: Публикация

Эта информация о последних видеороликах устанавливается после обновления страницы.

...