狀態管理 - 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/ 代表該資料受模組化保護,避免全局命名衝突。


Vuex