Переход по ссылке с веб-сайта без посещения домашней страницы не устанавливает значения в магазине.
Я сделал вызовы 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, почему данные не сохраняются, когдаДоступ к какой-либо ссылке с веб-сайта осуществляется напрямую?
Пример здесь: Публикация
Эта информация о последних видеороликах устанавливается после обновления страницы.