npm安装
npm i vuex -s
新建store.js文件,配置如下
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state:{
appData:{}
},
mutations:{
setAppData(state,{key,val}){
Vue.set(state.appData,key,val)
}
},
getters: {
getKey: (state) => (key) => {
const obj = state
return obj.appData[key]
}
}
})
export function setAppData (key, val) {
store.commit('setAppData', {key, val})
}
export function getAppData (key) {
return store.getters.getKey(key)
}
挂载
可以main.js中,也可以在自己的初始化插件中
// 引入vuex
import {setAppData,getAppData} from '@/util/store.js'
// 配置vuex
Vue.prototype.$getAppData = getAppData
Vue.prototype.$setAppData = setAppData
使用
mounted(){
this.$setAppData("aa",666)
let a = this.$getAppData("aa")
console.log(a,"store");
}