Я практикую NUXT, и из учебника он хорошо работает. мой сбой при входе в промежуточное ПО NUXT. логика заключается в том, что если страница перенаправляется на другую страницу, она войдет в промежуточное ПО и получит результат с помощью axios.
промежуточное ПО / search.js
import axios from 'axios';
export default function ({ params, store }) {
console.info(store)
return axios.get(`https://itunes.apple.com/search?term=~${params.id}&entity=album`)
.then((response) => {
console.info(response.data.results);
store.commit('add', response.data.results)
})
}
при вводе здесь store.commit('add'...
приведет к
Cannot read property 'commit' of undefined
когда я повторяю commit = undefined.
Что мне не хватает? Я уже пробовал this.$store.commit(...)
, пока не определился.
магазин / index.js
import Vuex from 'vuex'
const createStore = () => {
return new Vuex.Store({
state: {
albums: []
},
mutations: {
add (state, payload) {
state.albums = payload
}
}
})
}
export default createStore
не нужно yenmar в nuxt, он уже добавлен. перезапуск локального сервера исправил проблему
Я нашел решение из комментариев к указанному руководству, но я хочу поделиться здесь, если другие тоже с этим борются.
остановите свой сервер разработки ctrl + C
затем перезапустите свой сервер разработки
npm run dev
тогда VUEX будет теперь виден в промежуточном программном обеспечении tnx
Не похоже, что dev-сервер перестраивает хранилище vue, это заставило меня пару часов почесать затылок ... smh
У меня тоже сработал перезапуск Dev Server. Похоже, что Vuex не перезагружается при внесении изменений.
Запустите npm run dev
, и он должен работать.
спасибо, сэр, что поправили мой вопрос