Tengo una situación en la que obtengo datos de api en nuxtServerInit y los escribo en la variable de estado de la tienda así
let categoriesService = new Categories(this.$axios); categoriesService.current().then((resp) => { if (resp.data.success) { const navCategoryRoutes = resp.data.items .filter((item) => { return item.label !== "" && item.label; }) .map((item) => { item.label = item.label.toLowerCase(); item.isSelected = false; item.url = "/category/" + item.name + "/"; return item; }); commit("nav/setNavCategoryRoutes", navCategoryRoutes); } });Lo registro en el setter en la consola y puedo ver que debajo de la declaración de asignación y puedo ver que está allí
state: { categoryRoutes: [ [Object], [Object], [Object], [Object], [Object] ] },En el captador, sin embargo, siempre es una matriz vacía;/
export const getters = { getNavCategoryRoutes(state) { console.log({ getter: state }); return state.categoryRoutes; }, }; getter: { categoryRoutes: [] }y en el archivo donde trato de usarlo obviamente también está vacío
categories() { console.log({ header: this.$store.getters["nav/getNavCategoryRoutes"], }); return this.$store.getters["nav/getNavCategoryRoutes"]; },He intentado buscarlo en la propiedad calculada:
computed: { categories() { return this.$store.getters["nav/getNavCategorysRoutes"]; }, },y en el método de ciclo de vida montado:
mounted() { this.categories = this.$store.getters["nav/getNavCategoryRoutes"]; },Pero creo que el problema es anterior en el captador, simplemente no sé qué estoy haciendo mal;/ este captador no es diferente de los que funcionan. ¿Podría indicarme la dirección correcta? No tengo ideas sobre qué hacer con eso, muchas gracias.
Para obtener datos en nuxtServerInit, agregue nuxtServerInit a las acciones:
nuxtServerInit({ commit }) { // get data then commit mutation })