一、状态对象如何赋值给内部对象。三种方式:
1、使用computed赋值,一定要写this,不然找不到$store。
computed:{ count(){ return this.$store.state.count; }}
2、通过mapState的对象来赋值,这里使用箭头函数给count赋值。
computed:mapState({ count:state=>state.count})
3、使用mapState的数组来赋值。这最简单,但是经常使用。
computed:mapState(["count"])
二、Mutation修改状态
vuex提供了commit方法来修改状态。
1、传值,在修改状态的操作时候需要传值。
const mutations={ add(state,n){ state.count = state.count + n; }, reduce(state){ if(state.count > 1){ state.count = state.count-5; } }}
2、模板获取Mutations方法。$store.commit()这种写法不是很方便,改进。
引入mapMutations,在methods中加入mapMutations.直接使用reduce方法。
import {mapState,mapMutations} from 'vuex'
methods:mapMutations([ 'add','reduce'])