研究了一段时间的vuex,只是简单地会用,对于里面的一些知识点还是 不太会表达,就目前,先梳理一下自己对vuex中几个主要概念的理解 vuex一个专为 Vue.js应用程序开发的状态管理模式,主要是为了解决组 件间的通信,方便数据的共用,如果不使用vuex,数据之间或许可以 用子组件的传值来解决,但是比较麻烦。 概念的理解 state: 状态管理 ,储存初始化数据 getters:相当于store的计算属性,对State 里面的数据二次处理 mutations:改变state状态的函数,对数据进行计算的方法全部写在里面, 每个mutation都有一个事件类型和一个回调函数,回调函数必须是同步 的,通过this.$store.commit('decrement')来触发 actions:主要是commit mutations,而不是用于直接更变状态,是异步 操作,通过this.$store.dispatch('decrement')来触发 mapState 辅助函数,把全局的 state映射到当前组件的 computed 计算 属性中,返回的是一个对象 之所以使用mapstate:当一个组件需要获取多个状态时候,将这些状 态都声明为计算属性会有些重复和冗余。 mapGetters:把全局的getters映射到当前组件的 computed 计算属性 中,返回的是一个数组 computed:mapGetters([ 'count' //映射 this.count 为 store.getters.count ]), mapMutations:将组件中的 methods 映射为 store.commit 调用 methods:{ ...mapMutations([ 'add' //映射 this.add() 为 this.$store.commit('add') ]) }, mapActions::将组件中的 methods 映射为 store.dispatch 调用 methods:{ ...mapActions([ 'increment' // //映射 this.increment() 为 this.$store.dispatch('increment') ]) },
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦