我正在练习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'
当我回显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
答案 0 :(得分:7)
我从上述教程的评论中找到了一个解决方案,但如果其他人也在努力,我想在这里分享。
暂停您的开发服务器 ctrl + C
然后重新启动您的开发服务器
npm run dev
然后VUEX将出现在中间件tnx
中答案 1 :(得分:3)
重启Dev Server也适合我。在进行更改时,似乎没有重新加载Vuex。
运行npm run dev
,它应该有效。