我们访问store对象的state当中的数据时,$
.state.a 我们这种如果直接放到插值语句中,要写很多个,我们可以写到计算属性中,在data当中写不了变量,state也是如此。我们...mapState({名字:state当中的变量,一定是变量,不能变量的a.length会去找变量名为a.length,。()内可以写数组形式,也可以写对象形式。数组形式,每个元素都是字符型,需要加'',{}对象,可以写多个配置项,都会生成计算属性只有get简写形式,其实在哪用都可以,不只是可以在计算属性内,方法体内只有返回语句。...mapGetters和...mapState一样,就是方法体内,只返回语句,方法定义和只有get简写一样。其实就是方法名(){ return },...mapActions其实就是也是方法名(){ 调用diapatch,}mapActins(【 方法名,调用的actions名】),传的数据需要调用这个函数,mapActions会将参数传给他。mapMutations同理。需要先导入,导入在执行时才会找mapState等进行。import {mapState,mapActions} from 'vuex' 这些都在vuex内使用export导出的。模块化是将完成一个功能那个你放在一个文件内,在vuex也能用到模块化,我们将js文件内写actions和state等与完成一个功能有关的,导入store.js文件,本来一个功能文件,可以导入之后直接用。在vuex.Store()内有moudules配置项,配置项是json对象,key是模块名,后面是变量名。会state内会模块名是state下的属性,这个模块名又是一个json对象,下的属性名是变量名内的state。在getters和actions和mutations内都是在内的配置项的名字为模块名/变量下的actions内的名字。
modules配置项是json对象,内是模块名和变量名。但是他们生成只是这个形式,如果State/getters用在v-model内,不行,会报错,v-model一定要是双向数据绑定,进行操作。我们使用这个modules配置项,可以实现功能上容易找到,便于修改,维护。但是调用时,用...mapState等要注意。...mapState('module',[a])写成这种形式会module.a,mapActions都生成moudule/a,即使你没写module,它找不到,也会只找后面与你方法对上。只能是方法,但是会把所有的不同模块内后面是a的找到执行,但是肯定不行啊,可能会修改state内的值。state还是要写,找不到。所以直接用...mapState('module',[a]),返回this.$store.state.module.a,getters中没有this,但是会接收一个state,不是store