vue:vuex中mapStatemapGettersmapActions辅助函数及Module的使用
Posted qhantime
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue:vuex中mapStatemapGettersmapActions辅助函数及Module的使用相关的知识,希望对你有一定的参考价值。
一、普通store中使用mapState、mapGetters辅助函数:
在src目录下建立store文件夹:
index.js如下:
vue提供了注入机制,就是把我们的store 对象注入到根实例中。vue的根实例就是 new Vue构造函数,然后在所有的子组件中this.$store 来指向store 对象。在index.js 中,我们用export store把store已经暴露出去了,然后直接在main.js中引入store并注入store即可。
子组件中的computed属性是根据它的依赖自动更新的,所以只要store中的state发生变化,它就会自动变化,在一般情况下子组件中获取store中属性的方式如下:
通过computed属性可以获取到状态值,但是组件中每一个属性(如:count)都是函数,如果有10个,那么就要写10个函数,且重复写10遍return this.$store.state不是很方便。vue 提供了mapState函数,它把state直接映射到我们的组件中。
当然使用mapState之前要先引入它,它两种用法,或接受一个对象,或接受一个数组,其中使用对象的方式又有三种方法。
对象用法如下:
当映射的计算属性的名称与state的子节点名称相同时,我们也可以给 mapState传一个字符串数组。
如果我们组件内部也有computed属性怎么办?它又不属于mapState,我们可以使用es6中的对象分割语法,把mapState函数生成的对象再分割成一个个的,就像最开始的时候我们一个一个罗列计算属性,有10个属性,我们就写10个函数。
二、Module中使用mapState、mapGetters、mapActions辅助函数:
在src目录下建立store文件夹:
其中:
collection.js
footerStatus.js:
index.js:
假如我们想在组件中使用module中的state、getters、mutations、actions,那该如何使用呢?
除了和普通store一样需要在main.js中注入store外,具体方法如下:
以上是关于vue:vuex中mapStatemapGettersmapActions辅助函数及Module的使用的主要内容,如果未能解决你的问题,请参考以下文章
vue中vuex的使用, vuex使用模块化自动引入modules