美文网首页
2019-06-12

2019-06-12

作者: Home_2453 | 来源:发表于2019-06-12 09:44 被阅读0次
    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

          本文链接:https://www.haomeiwen.com/subject/xgqkfctx.html