vuex this.$store.state.屬性和mapState的屬性中的一點點區別


做泰康公眾號的項目時候有一個需求創建公眾號的時候后台有一個社區id提供給后台展現人員和部門,在群發消息時候也要給后台一個社區id只不過獲取社區的id接口和上一個不是一樣的,本來在頁面中寫了兩個select,一個是用elementUI的select選擇器,另一個是在標簽選擇器,現在在創建公眾號時使用公眾號社區的id讓群發消息的select隱藏,我是用vuex在state里聲明兩個變量分別設置falese ,true,這樣在引用各個接口時候v-show顯示相應的數據,用this.$store.state.屬性是可以設置和獲取相應的值,但是用mapState屬性能獲取但是設置不了值,如果設置就會報錯,如果設置需要在mutations中來處理。代碼如下

state:

export default {
selectAcounts: true, // 創建公眾號
selectMassmessag: false // 群發社區
}
mutations:
export default {
updateLoginStatus (state, bool) {
state.isLogin = bool
},
updateselectAcounts (state, bool) {
state.selectAcounts = bool
},
updateselectMassmessag (state, bool) {
state.selectMassmessag = bool
},
}
在組件方法中引入mapMutations
methods:{
...mapMutations(['updateselectAcounts', 'updateselectMassmessag'])
//點擊選擇按鈕時候出發mapMutations中的兩個方法改變state中的值 也可以通過this.store.$state.selectAcounts = false和this.$store.state.selectMassmessag = true來重新設置值
showTreeToast (type) {

this.updateselectMassmessag(true)

this.updateselectAcounts(false)
}

}
 


免責聲明!

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



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