Магазин Vuex не определен в промежуточном программном обеспечении NUXT - PullRequest
0 голосов
/ 01 мая 2018

Я практикую NUXT, и из учебника это работает хорошо. мой сбой при входе в промежуточное ПО NUXT. логика заключается в том, что если страница перенаправляет на другую страницу, она войдет в промежуточное ПО и получит результат, используя axios.

промежуточный слой / 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)
        })
}

при вводе здесь store.commit('add'... приведет к

Невозможно прочитать свойство 'commit' из неопределенного

когда я повторяю коммит = undefined.

Что мне не хватает? Я уже пробовал this.$store.commit(...) до сих пор не определено.

VUEX

магазин / index.js

import Vuex from 'vuex'

const createStore = () => {
  return new Vuex.Store({
    state: {
      albums: []
    },
    mutations: {
      add (state, payload) {
        state.albums = payload
      }
    }
  })
}

export default createStore

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Перезапуск сервера Dev работал и для меня. Кажется, Vuex не перезагружается при внесении изменений.

Запустите npm run dev и оно должно работать.

0 голосов
/ 01 мая 2018

Я нашел решение по комментариям к упомянутому учебнику, но хочу поделиться здесь, если другие тоже с этим борются.

остановка вашего сервера разработки ctrl + C

, а затем перезапустите ваш dev-сервер

npm run dev

тогда VUEX будет виден в промежуточном программном обеспечении tnx

...