1. 程式人生 > 其它 >Vuex 輔助函式的運用

Vuex 輔助函式的運用

//在需要獲取的頁面引入
import {mapState,mapGetters,mapMutations,mapActions} from "vuex";
mapState的使用方法:
export default {
    computed:{
        //第一種寫法
        count(){
          return this.$store.state.count;          
        },
        //第二種 通過輔助函式的方式 (當state宣告的名稱和獲取的一樣時)
        ...mapState(['count','username']) //
獲取 //第三種 通過輔助函式的方式 (當state宣告的名稱和獲取的不一樣時) ...mapState({ myCount: 'count', user: 'username' }) }, }
mapGetters的使用方法: 1、在store/index.js中定義
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
    state: {
        count:
0 }, getters:{ evenOrOdd(states){ return state.count % 2 === 0 ? '偶數' : '奇數' } } })
2、在需要的元件頁獲取
computed:{
    //第一種
    evenOrOdd(){
        return this.$store.getters.count;
    }
    //第二種通過輔助函式的方式
    ...mapGetters(['evenOrOdd'])
}
mapMutations的使用方法:
 methods:{
   //第一種
   handleAddCount(){
      this.$store.commit('increment') //increment 是store/index.js中actions中宣告的方法
   }
   //第二種通過輔助函式的方式
   ...mapMutations(['increment','test2'])
}
mapActions的使用方法:
 methods:{
     //第一種
   handleAddCount(){
          this.$store.dispatch('increment') //increment 是store/index.js中actions中宣告的方法
   },
   //第二種通過輔助函式的方式
   ...mapActions(['increment'])
}