在Nuxt.js中如果使用Vuex,我们不需要安装引用,Nuxt已经帮我们解决了这个问题
只需要在Nuxt的store目录下创建js文件即可
每一个js文件都可以是一个模块(当然index.js除外,这是根模块)
//tools.js
export const state = () => ({})
export const mutations = {}
export const actions = {
getTools({commit,dispatch}){
return axios.get('/tools/searchAll')
}
}
上述代码就是一个 tools 模块
在vue文件中使用的话如下
//如果要使用state
this.$store.state.count //取跟模块下state中的count
this.$store.state.tools.count //取tools模块下state中的count
//如果要使用mutations
this.$store.commit('SET_TOKEN',params) //根模块下的mutations方法
this.$store.commit('tools/SET_TOKEN',params) //tools模块下的mutations方法
//如果要使用actions
this.$store.dispatch('getTools') //根模块下的actions中的getTools方法
this.$store.dispatch('tools/getTools') //tools模块下的actions中的getTools方法