vuex 辅助函数,vuex使用方法
某视频剪辑软件通过辅助函数地图状态、地图操作、地图突变,把vuex.store中的属性映射到某视频剪辑软件实例身上,这样在某视频剪辑软件实例中就能访问vuex.store中的属性了,对于操作vuex.store就很方便了,本文具体的介绍下这些辅助函数的使用方法
目录
mapstatemapggettersmapmutationsmapactios多个模块
mapState
从" vuex "导入{ mapState }
导出默认值{
//.
计算值:{
.mapState({
//箭头函数可使代码更简练
state=state.count
//传字符串参数"计数"等同于` state=state.count
countAlias:计数,
//为了能够使用`这个获取局部状态,必须使用常规函数
countPlusLocalState(州){
返回状态count this.localCount
}
})
}
}
定义的属性名与状态中的名称相同时,可以传入一个数组
//定义状态
常量状态={
计数:1,
}
//在组件中使用辅助函数
计算值:{
.mapState([count])
}
mapGetters
计算值:{
.mapGetters({
//把` this.doneCount 映射为"这个100美元商店。吸气剂。 donetodoccount
完成计数:" donetodoccount "
})
}
当属性名与吸气剂中定义的相同时,可以传入一个数组
计算值:{
计算值:{
//使用对象展开运算符将吸气剂混入计算对象中
.mapGetters([
doneTodosCount ,
另一个吸气剂,
//.
])
}
}
总结:
地图状态与地图获取者都用计算来进行映射
在组件中映射完成后,通过这个。映射属性名进行使用
mapMutations
方法:{
.地图突变({
添加:增量//将` this.add()映射为"这个store . commit( increment )
})
}
当属性名与地图突变中定义的相同时,可以传入一个数组
方法:{
.地图突变([
增量,//将` this.increment()映射为"这个store . commit( increment )
//`地图突变也支持载荷:
增量依据//将` this.incrementBy(amount)映射为"这个store.commit(incrementBy ,amount)`
]),
}
mapActios
方法:{
.地图操作({
添加:增量//将` this.add()映射为"这个$store.dispatch(increment )。
})
}
当属性名与地图行动中定义的相同时,可以传入一个数组
方法:{
.地图操作([
增量,//将` this.increment()映射为"这个$store.dispatch(increment )。
//`mapActions 也支持载荷:
增量依据//将` this.incrementBy(amount)映射为"这个. store.dispatch(增量依据,金额)`
]),
}
总结
地图突变与地图行动都在方法中进行映射
映射之后变成一个方法
多个modules
在不使用辅助函数的时候,
这个store.commit(app/addCount )
使用辅助函数,辅助函数的第一个参数给定命名空间的路径
计算值:{
.mapState(some/nested/module ,{
a: state=state.a,
州=州
})
},
方法:{
.mapActions(some/nested/module ,[
foo ,//- this.foo()
bar //- this.bar()
])
}
或者使用createNamespacedHelpers函数来创建一个基于命名空间的辅助函数
从" vuex "导入{ createNamespacedHelpers }
const { mapState,map actions }=createNamespacedHelpers( some/nested/module )//给定路径
//使用方法与之前相同
导出默认值{
计算值:{
//在`某些/嵌套/模块中查找
.mapState({
a: state=state.a,
州=州
})
},
方法:{
//在`某些/嵌套/模块中查找
.地图操作([
foo ,
酒吧
])
}
}
以上就是状态管理的辅助函数该如何使用的详细内容,更多关于状态管理的辅助函数的资料请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。