Vuex 命名空間 namespaced的使用
在項目中,如果需要用到Vuex,可以將 store 分割成多個模塊(module),每個模塊擁有自己的 state、mutation、action、getter,這樣你的模塊具有更高的封裝度和復(fù)用性,此時就用到了命名空間這個概念。( 默認情況下,模塊內(nèi)部的 action、mutation 和 getter 是注冊在全局命名空間的,這樣使得多個模塊能夠?qū)ν?mutation 或 action 作出響應(yīng)。)

1.如何使模塊成為一個命名空間模塊?
你可以在單個模塊中通過添加namespaced:true的方式使其成為帶命名空間的模塊。
export default {
namespaced:true,
state,
getters,
actions,
mutations
}
2.組件中如何獲取帶有命名空間moduleA中的state數(shù)據(jù)?
1、基本方式:
this.$store.state.moduleA.countA
2、mapState輔助函數(shù)方式:
...mapState({
count:state=>state.moduleB.countB
})
【例子】
computed:mapState({
// 將state中的商品列表數(shù)據(jù)作為goodslist的屬性
goodslist:state=>state.goods.list
}),
組件中調(diào)用命名空間模塊中的getters
computed:{
// 使用擴展運算符“...”,將mapState和mapGetters返回的結(jié)果放到計算屬性中
...mapState({
// 綁定購物車中的商品
items:state=>state.shopcart.items
}),
// 綁定購物車中的商品總價
...mapGetters('shopcart',{total:'totalPrice'})
},
到此這篇關(guān)于Vuex 命名空間 namespaced的使用的文章就介紹到這了,更多相關(guān)Vuex 命名空間 namespaced內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Element-ui之ElScrollBar組件滾動條的使用方法
這篇文章主要介紹了Element-ui之ElScrollBar組件滾動條的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09
vue開發(fā)樹形結(jié)構(gòu)組件(組件遞歸)
這篇文章主要為大家詳細介紹了vue開發(fā)樹形結(jié)構(gòu)組件的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08

