复习一下vuex

store下的index.js
import Vue from 'vue'

import Vuex from 'vuex'

Vue.use(Vuex)
const state = {

  sum: 0

}

// actions: 用于响应组件中的动作

const actions = {

  jia (context, value) {

    context.commit('JIA', value)

  },

  jian (context, value) {

    context.commit('JIAN', value)

  }

}

// mutations: 用于操作数据(state)

const mutations = {

  JIA (state, value) {

    state.sum += value

  },

  JIAN (state, value) {

    state.sum -= value

  }

}

// getters: 用于将state中的数据加工

const getters = {

  bigSum(state) {

    return state.sum * 10

  }

}

export default new Vuex.Store({

  state,

  actions,

  mutations,

  getters

})

组件用例:

<template>

  <div class="hello">

    <h5>{{sum}}</h5>

    <h5>{{bigSum}}</h5>

    <div>{{he}}</div>

    <button @click="jia(1)">+</button>

  </div>

</template>

<script>

import { mapState, mapGetters, mapActions, mapMutations } from 'vuex'

export default {

  name: '',

  data() {

    return{

    }

  },

  methods: {

    ...mapActions(['jia']),

    ...mapMutations(['JIAN'])

  },

  computed: {

    // sum () {

    //   return this.$store.state.sum

    // },

    // bigSum () {

    //   return this.$store.getters.bigSum

    // },

    ...mapState({he: 'sum'}), // 对象写法

    ...mapState(['sum']), // 数组写法

    ...mapGetters(['bigSum'])

  },

}

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值