Vuex 輔助函式的運用
阿新 • • 發佈:2021-06-10
//在需要獲取的頁面引入 import {mapState,mapGetters,mapMutations,mapActions} from "vuex";mapState的使用方法:
export default { computed:{ //第一種寫法 count(){ return this.$store.state.count; }, //第二種 通過輔助函式的方式 (當state宣告的名稱和獲取的一樣時) ...mapState(['count','username']) //mapGetters的使用方法: 1、在store/index.js中定義獲取 //第三種 通過輔助函式的方式 (當state宣告的名稱和獲取的不一樣時) ...mapState({ myCount: 'count', user: 'username' }) }, }
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { count:2、在需要的元件頁獲取0 }, getters:{ evenOrOdd(states){ return state.count % 2 === 0 ? '偶數' : '奇數' } } })
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']) }