时间:2021-07-01 10:21:17 帮助过:10人阅读
1.什么是mutations?
上一篇文章说的getters是为了初步获取和简单处理state里面的数据(这里的简单处理不能改变state里面的数据),Vue的视图是由数据驱动的,也就是说state里面的数据是动态变化的,那么怎么改变呢,切记在Vuex中store数据改变的唯一方法就是mutation!
通俗的理解mutations,里面装着一些改变数据方法的集合,这是Veux设计很重要的一点,就是把处理数据逻辑方法全部放在mutations里面,使得数据和视图分离。
2.怎么用mutations?
mutation结构:每一个mutation都有一个字符串类型的事件类型(type)和回调函数(handler),也可以理解为{type:handler()},这和订阅发布有点类似。先注册事件,当触发响应类型的时候调用handker(),调用type的时候需要用到store.commit方法。
载荷(payload):简单的理解就是往handler(stage)中传参handler(stage,pryload);一般是个对象。
commit:提交可以在组件中使用 this.$store.commit('xxx') 提交 mutation,或者使用 mapMutations 辅助函数将组件中的 methods 映射为 store.commit 调用(需要在根节点注入 store)。
3.源码分析
registerMutation:初始化mutation
commit:调用mutation
subscribers:订阅store的mutation
相关推荐:
vuex结合localstorage动态监听storage的变化
以上就是理解vuex中Mutations的用法的详细内容,更多请关注Gxl网其它相关文章!