问 题
vuex 中子模块的actions或者mutations 怎么调用 root级(或者其他模块的)的mutations、actions?
我 知道 vuex 中子模块的actions或者mutations 怎样获取 root 级的states 和 getters。
解决方案
//vuex/module.js
test(context,data){
setTimeout(()=>{
context.commit('updateActiveName',data);
//调用父级的 actions 或者 mutations
context.commit('setLocation',{key_root:data},{root:true});
context.dispatch('updateLocation',{key_root:data},{root:true});
},10);
}
page.vue
created(){
//vuex mutation
this.$store.commit('setLocation',{key1:"mutation"});
//vuex module mutation
this.$store.commit('filter/updateActiveName',"filter/mutation");
//vuex action
this.$store.dispatch('updateLocation',{key2:"action"});
//vuex module actions
this.$store.dispatch('filter/test',"filter/actions");
}
扫一扫关注IT屋
微信公众号搜索 “ IT屋 ” ,选择关注与百万开发者在一起