src/store/state.js
export default {
abc: ''
}
src/store/mutations.js
export default {
abc(state,value){
state[value.key]=value.val;
}
}
src/store/index.js
import Vue from "vue";
import Vuex from "vuex";
Vue.use(Vuex);
import state from "./state";
import mutations from "./mutations";
export default new Vuex.Store({
state: {
...state
},
mutations: {
...mutations
}
})
帮助函数写法:
import store from "@/store";
export default {
/**
* 获取状态
* @returns {*}
*/
getStore(key=null){
if(name){
return store.state[name];
}else {
return store.state;
}
},
/**
* 设置状态
* @param key
* @param val
*/
setStore(key,val){
store.commit(key,{key,val})
}
}
引用例子:
//设置
Common.setStore('abc','123');
//取出
Common.getStore().abc;
//在computed中的使用
computed:{
abc(){
return this.$getStore().abc
}
}
结束了,其实都是对功能的封装。