import Vue from 'vue' import Vuex from 'vuex' import axios from 'axios' Vue.use(Vuex); const state = { count:10 //用来定义数据存数据 此处的数据可以在actions里面去接收一下 } const mutations = { //处理数据动作 默认接收一个state 主要处理数据的变化 处理actions的数据 go(state){ state.count++ }, ww(state){ state.count-- }, xx(state){ state.count++ }, cc(state){ state.count-- } } const getters = { //在前端组件里只能在computed里接收数据 count(state){ return state.b }, getOdd(state){ return state.count%2===0?'偶数':'奇数' } } const actions = { //提交数据动作 接收methods里的方法
go: ({commit}) => { console.log(commit) commit('go'); }, ww({commit}){ commit('ww'); }, xx({commit,state}){ if(commit.count%2===0){ commit('xx') } }, cc({commit}){ //这里异步可以实现ajax请求 new Promise((resolve)=>{ setTimeout(function(){ commit('cc') },1000); }) } } export default new Vuex.Store({ actions, mutations, getters, state })