Je pratique NUXT et du tutoriel ça marche bien. le mien échoue lors de l'entrée dans le middleware NUXT. la logique est que si la page est redirigée vers une autre page, elle entrera dans le middleware et récupérera le résultat en utilisant axios.
middleware/search.js
import axios from 'axios';
export default function ({ params, store }) {
console.log(store)
return axios.get(`https://iTunes.Apple.com/search?term=~${params.id}&entity=album`)
.then((response) => {
console.log(response.data.results);
store.commit('add', response.data.results)
})
}
en entrant ici le store.commit('add'...
résultera
Impossible de lire la propriété "commit" de undefined
quand j'écho commit = indéfini.
Qu'est-ce qui me manque? J'ai déjà essayé this.$store.commit(...)
encore indéfini.
store/index.js
import Vuex from 'vuex'
const createStore = () => {
return new Vuex.Store({
state: {
albums: []
},
mutations: {
add (state, payload) {
state.albums = payload
}
}
})
}
export default createStore
J'ai trouvé une solution à partir des commentaires dudit didacticiel mais je veux partager ici si d'autres ont du mal aussi.
arrêtez votre serveur de développement ctrl+C
puis redémarrez votre serveur de développement
npm run dev
alors VUEX sera vu maintenant dans le middleware tnx
Le redémarrage du serveur de développement a également fonctionné pour moi. Il semble que Vuex ne soit pas rechargé lorsque des modifications sont apportées.
Courir npm run dev
et ça devrait marcher.