我正在练习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(...)
仍然不确定。
威克斯
商店/index.js
import Vuex from 'vuex'
const createStore = () => {
return new Vuex.Store({
state: {
albums: []
},
mutations: {
add (state, payload) {
state.albums = payload
}
}
})
}
export default createStore
重新启动Dev Server也对我有用。进行更改后,似乎不会重新加载Vuex。
运行
npm run dev
,它应该工作。