PS:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這只是個人筆記
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這只是個人筆記
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這只是個人筆記
Vuex 使用單一狀態樹,用一個對象就包含了全部的應用層級狀態。每個應用將僅僅包含一個 store 實例.單狀態樹和模塊化并不沖突
Vuex 通過store選項,提供了一種機制將狀態從根組件『注入』到每一個子組件中(需調用Vue.use(Vuex))
通過在根實例中注冊store選項,該 store 實例會注入到根組件下的所有子組件中,且子組件能通過this.$store訪
this.$store.state.count ,在獲取到這些狀態的時候多數都在計算屬性中來獲取
___以上僅僅是單狀態樹
mapState輔助函數
當一個組件需要獲取多個狀態時候,將這些狀態都聲明為計算屬性會有些重復和冗余
import{mapState}from'vuex' ?
使用mapState輔助函數幫助我們生成計算屬性
computed:mapState({
? getMsg : state => state.app? ? // 箭頭函數可使代碼更簡練
// 為了能夠使用 `this` 獲取局部狀態,必須使用常規函數
? ? ? ? str(state){ //這里的state是一個全局的state狀態
? ? ? ? ? ? ? ?return state.app.msg ?+ ' ?- ?' + this.count; ?//這里的app使用的是 vuex中的模塊化 中的app.js
? ? ? ?},
})
__State模塊化
在 export default new Vuex.Store({ modules:{ app,} }) 傳入 app.js 模塊
在app.js模塊中返回的時候主要 export default { state }
this.$store.state.oss.isUpdateObjectList ?讀取oss里面的state;