狀態管理 - daniel-qa/Vue GitHub Wiki
mapGetters
把 Vuex Store 裡的數據(Getters),直接對應到 Vue 組件的計算屬性(Computed)中。
如果不使用 mapGetters,你每次都要寫冗長的 this.$store.getters.xxxx,代碼會變得很髒。
computed: {
...mapGetters({
srvAdr: 'config/getSrvAdr'
}),
- A. JavaScript 層面:展開運算子 (...)
原理:將一個物件的所有可列舉屬性,複製到當前所在的物件中。
computed 本身是一個物件,mapGetters 執行後也會回傳一個物件。
若不使用 ...,你將無法在同一個 computed 區塊內定義其他本地的計算屬性。
- B. Vuex 層面:輔助函數 (mapGetters)
簡化從 Store 中讀取 Getters 的代碼量。
對象形式用法:{ 別名: 'Store路徑' }。
命名空間 (Namespaced):路徑中的 config/ 代表該資料受模組化保護,避免全局命名衝突。