研究了一段时间的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')
])
},
文章名称:vuex的理解与使用
本文地址:https://www.cdcxhl.com/article30/gjodpo.html
成都网站建设公司_创新互联,为您提供手机网站建设、、移动网站建设、微信小程序、网站改版、品牌网站制作
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联