const emergencys = {
namespaced: true,
state: {
// selectedNode: null,
// treeData: [],
// serializeData: {},
// animated: false,
// needRB: true
drawerShow: false
},
mutations: {
SET_ONE: (state, payload) => {
// 有完善的空间(判断方面)
if (payload.key) {
state[payload.key] = payload.content
}
},
SET_MORE: (state, payload) => {
if (Object.prototype.toString.call(payload) === '[object Object]') {
const keys = Object.keys(payload)
const keyState = Object.keys(state)
keys.forEach(key => {
if (keyState.includes(key)) {
state[key] = payload[key]
}
})
}
}
},
actions: {
setOneAction: ({
commit
}, payload) => {
return commit('SET_ONE', payload)
},
setMoreAction: ({
commit
}, payload) => {
return commit('SET_MORE', payload)
}
}
}
export default emergencys
使用,直接在项目中引入
import {
mapGetters,
mapActions
} from 'vuex'
computed: {
...mapGetters([
'drawerShow'
])
},
methods: {
...mapActions('emergencys', ['setOneAction']),
}
index.js文件中
import emergencys from './modules/emergencys'
import getters from './getters'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
emergencys
},
getters
})
export default store
getters.js中
const getters = {
drawerShow: state => state.emergencys.drawerShow
}
export default getters
main.js文件中
import store from './store'
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})