Vuex modules模式下mapState/mapMutations/mapActions的操作


 当我们用vuex进行数据维护时,会衍生出多个模块进行存储状态 。

下面简单记录一下使用vuex modules 的模块的命名空间 以及辅助函数 类似语法糖

 1.store结构

 

 

 

   2.index.js

import Vue from 'vue'
import Vuex from 'vuex'
import common from './modules/common'

Vue.use(Vuex)

const store=new Vuex.Store({
modules:{
common
}

})
export default store

3.common.js
const common={
namespace:true,
state:{
user:'',
msg:''
},
mutations:{
upUser(state,data){
state.user=data
},
},
actions:{
// 登录
Login({ commit }, userInfo) {
console.log(userInfo)
}
}

}
export default common

4.组件使用
import { mapState ,mapMutations,mapActions} from 'vuex'
computed: mapState({
user: (state) => state.common.user,
msg:(state)=>state.common.msg

}),
methods:{
...mapMutations({
upUser(commit, userName) {
commit("upUser", userName)
},
}),
...mapActions(['Login']),
setLogin(data){
this.Login(data)
}
},
 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM