Как правильно вызвать NuxtServerInit? - PullRequest
0 голосов
/ 26 октября 2019

В хранилище VUEX есть такой код:

export const state = () => ({
  z: 'sdfjkhskldjfhjskjdhfksjdhf',
});

export const mutations = {

  init_data_for_firmenistorie2 (state, uploadDbFirmenistorieData){
    state.z = uploadDbFirmenistorieData;
  },


};

  async nuxtServerInit ({commit}) {
    console.log('111');
    commit('init_data_for_firmenistorie2', 123)
  }


}

Мой вопрос:Как я должен вызвать nuxtServerInit таким образом, чтобы я мог использовать его для перезаписи значения состояния z? PS Сейчас мой код не работает.

Ответы [ 2 ]

1 голос
/ 27 октября 2019

Если у вашего store/index.js есть действие nuxtServerInit, то Nuxt вызовет его.

Таким образом, ваш код в конечном итоге будет выглядеть как

export const state = () => ({
  z: 'sdfjkhskldjfhjskjdhfksjdhf',
});

export const mutations = {
  init_data_for_firmenistorie2(state, uploadDbFirmenistorieData) {
    state.z = uploadDbFirmenistorieData;
  },
};

export const actions = {
  nuxtServerInit({ commit }) {
    console.log('111');
    commit('init_data_for_firmenistorie2', 123);
  },
};
0 голосов
/ 28 октября 2019

Итак, вы создаете объект действий, а затем помещаете туда свой nuxtServerInit:

export const actions = {
   nuxtServerInit(vuexContext, context){
      vuexContext.commit('init_data_for_firmenistorie2', 123);
   }
}

С помощью context вы можете дополнительно иметь доступ, например, к params, routes,redirect и т. Д. Документы: https://nuxtjs.org/api/context

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...