关于Vue的 Vuex的4个辅助函数
一、辅助函数
当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余。为了解决这个问题,我们可以使用 mapState
辅助函数帮助我们生成计算属性,让你少按几次键。
script中引入辅助函数:
import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
二、实例
1、mapState 和 mapGetters
因为state
和getters
返回的是属性,也就是具体的值,所以mapState
和mapGetters
应该放在计算属性computed
中。
例如:
现在store的state中有一个属性userName:
在Home.vue组件中通过mapState获取并显示在界面上:
computed中的代码:
computed:{
//通过辅助函数获取store中的state
...mapState(['userName'])
//等价于:下面常规计算属性代码
}
页面中调用:
结果:
这样就可通过简单的...mapState(['userName'])
来代替比较长的计算属性函数了。mapGetters
和mapState
用法一样,在computed
中调用即可,这里就只举例mapState
了。
2、mapMutations和mapActions
因为mutations
和actions
返回的是函数,所以应该放在组件的methods属性中。
例如:
现在在store
的mutations
中由一tip函数,用于弹出欢迎当前用户弹窗:
上图中methods
中的代码:简写了获取store中的mutation。
methods:{
//简写获取store中的mutations
...mapMutations(['tip'])
//等价于
}
组件中调用:在created
函数中调用tip方法,实现欢迎弹窗。
mapActions
和mapMutations
的用一样,既在nethods
中声明即可,简化了引用store中的action和mutaion。
从上面的例子可以看到,辅助函数的好处就是帮助我们简化了获取store中state、getter、mutation和action。当然,不使用辅助函数一样可以实现上述功能,但是当一个组件中需要同时使用多个state时,辅助函数就会变得比较方便。
到此这篇关于关于Vue的 Vuex的4个辅助函数的文章就介绍到这了,更多相关Vuex辅助函数内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341