learn-vuex

作者: crayona | 来源:发表于2019-08-21 14:24 被阅读0次

    四个部分  state  getters  mutations action

    ------------------------------

    安装  npm istall  vuex --save

    引入main.js中

              import Vue from 'vue'

              import Vuex from 'vuex'

             Vue.use(Vuex)

    创建新的实例 js文件中  let store=new VueX.store({})   export default store

    注入在Vue实例中   app.vue中

    new Vue({

    store

      })


    简单例子

    const store=new  Vuex.store({

    state:{  count:12},

    mutations:{

        changeCount(state){

         state.count++

       }}

    })


    state  存数据  只有mutation的提交才能更改 state

    组件内部访问 this.$store.state.count

    import {mapState} from 'vuex'

    computed:{

    ...mapState({

    count:function(state){ state.count  }

    })

    }


    mutations  存方法更改state

       this.$store.commit(mutations名字,payload)

    事件=》触发对象的方法=》mutations触发  修改对应的state值

    methods:{

    dosomething(){    this.$store.commit(mutations名字,payload)}

    }

    import {mapMutations} from 'vuex'

    methods:{

    dosomething(){

    ...mapMutations({

    abc:(state)=>{}})

    }

    }


    getters 等同于computed

    依赖值更新才重复计算

    getters:{

    fn(state,getters){

    }

    }


    actions 异步操作  this.$store.dispatch('mutation名')

    actions:{

    fn名字(context,state){

    }}

    context等同于store  store的方法它全都有

    context.mutations  context.getter  context.state

    actioins:{

    fn({commit,state}){

    commit(‘提交的mutation’)}

    }


    相关文章

      网友评论

        本文标题:learn-vuex

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