Vuex 獲取state對象中的值的所有方法(module中的state)

1.直接從store實例取值
// main.js中,把store註冊在根實例下,可使用this.$stroe.state直接取值
export default {
  computed: {
    testNum() {
      return this.$store.state.testNum;
    }
  }
};
2.使用mapState取值的多種方法
import { mapState } from "vuex";

export default {
  data() {
    return { localNum: 1 };
  },
  computed: {
    ...mapState({
      // 箭頭函數使代碼更簡練
      testNum1: state => state.testNum1,
      // 傳字符參數'testNum2' 等價於 'state => state.testNum2'
      testNum2: "testNum2",
      // 組件的局部變量與Vuex變量相加
      testNum3(state) {
        return state.testNum1 + this.localNum;
      }
    }),
    ...mapState([
      // 映射this.count 爲store.state.count
      "testNum3"
    ])
  }
};
3.使用module中的state
import { mapState } from "vuex";

export default {
  computed: {
    ...mapState({
      // 箭頭函數使代碼更簡練
      testNum1: state => state.moduleA.testNum1
    }),
    // 第一個參數是namespace命名空間,填上對應的module名稱即可
    ...mapState("moduleA", {
      testNum2: state => state.testNum2,
      testNum3: "testNum3"
    }),
    ...mapState("moduleA",[
      "testNum4"
    ])
  }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章