当前位置: 代码迷 >> 综合 >> Vuex 使用总结
  详细解决方案

Vuex 使用总结

热度:27   发布时间:2023-12-13 21:05:55.0

1.安装 npm install vuex

2. 在 src 下面新建 文件夹 store/index.js

import Vue from 'vue'
import Vuex from 'vuex'
import count from './modules/count'Vue.use(Vuex)const store = new Vuex.Store({modules: {count: count}
})
export default store

新建 stroe/modules/count.js

const state = {count: 1,collapse: true
}
const getters = {getStateCount: function (state) {return state.count + 1}
}
const mutations = {add (state) {state.count += 1},reduce (state) {state.count -= 1},chage_collapse (state) {state.collapse = !state.collapse}
}
const actions = {addFun (context) {context.commit('add')},reduceFun (context) {context.commit('reduce')}
}export default {state,getters,mutations,actions
}二.使用
this.$store.state.count.count
this.$store.state.count.collapse
/*    addFun () {// this.$store.commit('add')// his.$store.dispatch('addFun')},reduceFun () {// this.$store.commit('reduce')this.$store.dispatch('reduceFun')}*/

使用助手函数 

import {mapState, mapGetters, mapActions} from 'vuex'
computed: {...mapState({count: state => state.count.count,collapse: state => state.count.collapse}),...mapGetters({getStateCount: 'getStateCount'})
},
methods: {...mapActions(['addFun', 'reduceFun'])}