新建store文件夹 在里边新建index.vue 代码如下
import Vue from 'vue'
import Vuex from 'vuex'
import test from './modules/test'
import user from './modules/user'
import website from './modules/website'
const store = () => { // # 返回store为一个函数就行了 模块
return new Vuex.Store({
modules: {
test,
user,
website
}
})
}
export default store;
已test模块为例 在store文件夹先新建model文件夹 新建test.js 代码如下
const state = () => ({count: 0})
const getters = {
count: state => {
return state.count;
},
}
const mutations = {
setPosition(state, val) {
state.count ++
console.log(state.count)
}
}
export default {namespaced: true, state, getters, mutations}
改变count的值 vue方法中使用
namespaced: true的时候要在mutation的方法前加上模块名称
this.$store.commit("test/SET_AUTHORIZATION", ‘111’);