2019-06-12

var store = new Vuex.Store({
      state:{    //这里相当于Vue实例中的data,用于存放数据
              msg:'我是公共的数据,来拿我呀'
      },
      mutations:{    //这里相当于Vue实例中的methods,用于定义方法 所有的方法都过来拿
              getMsg(state){    //state是个形参 是state对象里面的数据都可以拿到 不通过this来拿
                       state.msg
              }
      },
      getters:{
              //这里可以监听state的值 直接返回出去 只读取值 如果需要修改值 找mutations 需要rerurn出去
              readMsg(state){
                        return '我是store里面的数据' + state.msg
              }
      }
      
})

{{store.state.msg}} //直接在组件中 用插值表达式 可以直接使用公共储蓄值和方法 如果需要在组件的方法中拿到值 则还需要通过this 当前的实例对象拿到值,比如 this.store.state.msg
如果拿到store里面的方法呢?
一般在组件定义方法里面拿到store里面的方法 统一交给store操纵公共数据比较容易维护
通过
this.$store.commit('store里的方法名',传参的可选值)

this.$store.commit('add',{one:10,two:20})

你可能感兴趣的:(2019-06-12)