我们有时候在使用vuex模块的时候,在其中加了一个键值对为:namespaced : true
export default {
namespaced:true,
state:{
user:{
username:"",
token:""
}
},
mutations:{
setUser(state,user){
state.user = user;
}
}
}
namespaced为true
的作用是告诉vuex,该模块所有的state 、mutations、actions里面的东西调用时都需要加上命名空间,这个命名空间就是该模块被improt时命名的名字。
import Vue from 'vue'
import Vuex from 'vuex'
import login from "./modules/login"
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
login
}
})
login就是他的命名空间
如果使用辅助函数...mutations()
...mapMutations('login',['setUser']),
mapMutations是Vuex的mutation的辅助函数,用于在组件中映射mutation内的方法,以便在该组件中直接使用mutation里的方法 (语法糖)
内部将mutation
里的方法映射到该组件内,相比使用this.$store.commit('xxx')
更为之方便一点。除此之外还有mapState
, mapActions
, 用法也类似。