vuex namespaced的作用以及使用方式


vuex中的store分模塊管理,需要在store的index.js中引入各個模塊,為了解決不同模塊命名沖突的問題,將不同模塊的namespaced:true,之后在不同頁面中引入getter、actions、mutations時,需要加上所屬的模塊名

1、聲明分模塊的store時加上namespaced:true

 1 // initial state
 2 const state = {
 3 userId:'',//用戶id
 4 userName:'',//用戶名稱
 5 token:'',//token
 6 permission:''//權限
 7 }
 8 
 9 // getters
10 const getters = {
11 // 獲取用戶信息
12 getUserInfo(){
13 return state;
14 }
15 }
16 
17 // actions
18 const actions = {}
19 
20 // mutations
21 const mutations = {
22 setUserInfo(state,payload) {
23 console.log("payload:"+payload);
24 console.info(payload);
25 state.userId = payload.userId;
26 state.userName = payload.userName;
27 state.token = payload.token;
28 state.permission = payload.permission;
29 }
30 }
31 
32 export default {
33 namespaced: true,
34 state,
35 getters,
36 actions,
37 mutations
38 }

 


2、使用模塊中的mutations、getters、actions時候,要加上模塊名,例如使用commint執行mutations時

格式:模塊名/模塊中的mutations

xxx/setUserInfo

 1 this.$store.commit("userInfo/setUserInfo",userInfo) 
3、獲取屬性時同樣加上模塊名

格式:store.state.模塊名.模塊屬性

 1 $store.state.userInfo.userName 

原文鏈接:https://blog.csdn.net/fuck487/article/details/83411856


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM