前言
vuex中经常会用到State、Getters、Mutations、Actions这些属性,但是里面的参数列表官网描述的不是很清楚,这里对此进行统计,并进行记录测试方式。
注意:
- 这里不会介绍vuex的使用方式。
- 这里面没有使用命名空间进行测试
参数列表统计
state
state是用来定义状态的,没有可变参数。
Getters
getters是用来对状态进行过滤的
getters(state,getters,rootState,rootGetters){
//state 是获取当前模块的状态
//getters 是获取应用中所有getters函数,倘若全局只有一个store的话,暂时不知道和rootGetters有什么区别,估计使用命名空间时候会有所区别
//rootState 是获取应用的所有state,通过该rootState可以调用所有状态,使用时候注意路径,比如rootState.<模块名>.<参数名>
//rootGetters 是获取应用中所有getters函数,倘若全局只有一个store的话
}
Mutations
Mutations是一个同步状态管理器
mutations(state,params){
//state 是获取当前模块的状态
//params 是调用这个函数时候传入的参数,默认为undefined
}
Actions
Actions是一个异步状态管理器
actions({
commit,
dispatch,
getters,
rootGetters,
rootState,
state
},params){
//这里面有两个参数
//第一个用来做一些vuex的操作,其含义由名字知道
//params 是调用这个函数时候传入的参数,默认为undefined
}
测试方式
首先在函数里面获取该函数的参数列表长度,然后,将参数写全,并打印该参数即可,示例如下:
getters(contextA,contextB,contextC,contextD){
let argumentsLength = arguments.length
console.log("YM-------->moduleA------>getters---->最终可接受参数长度",argumentsLength)
console.log("YM-------->moduleA------>getters--->contextA",contextA)
console.log("YM-------->moduleA------>getters--->contextB",contextB)
console.log("YM-------->moduleA------>getters--->contextC",contextC)
console.log("YM-------->moduleA------>getters--->contextD",contextD)
}