Vuex mapActions、mapGetters 等...在同一个调用中混合命名空间和非命名空间操作/getters/mutations/state?
Posted
技术标签:
【中文标题】Vuex mapActions、mapGetters 等...在同一个调用中混合命名空间和非命名空间操作/getters/mutations/state?【英文标题】:Vuex mapActions, mapGetters, etc... Mixing namespaced and non-namespace actions/getters/mutations/state in the same call? 【发布时间】:2019-06-06 17:37:27 【问题描述】:我只是好奇是否有一种方法可以在您调用 ...mapActions
时混合使用命名空间和非命名空间的操作。我只有一个足够大的模块来保证完整的模块封装和命名空间,所以有些动作是things/someAction
,有些只是someOtherAction
。我目前正在像这样映射:
...mapActions('nsACtions', ['nsOne', 'nsTwo']),
...mapActions('nonNsActionOne', 'nonNsActionTwo')
但更愿意将所有内容合并为一个mapActions
。比如:
...mapActions('nsACtions',
['nsOne', 'nsTwo'],
'nonNsActionOne',
'nonNsActionTwo')
或
...mapActions('nsACtions',
['nsOne', 'nsTwo'],
['nonNsActionOne',
'nonNsActionTwo'])
这些例子都不起作用,所以我很好奇是否有人解决了这个小难题。谢谢!
【问题讨论】:
【参考方案1】:我已经添加了这个答案,尽管 Matt Larson 发现自己的解决方案在很大程度上反映了同样的事情。您可以在计算值上使用多个 mapAction 来分隔命名空间,以便更清晰
computed:
mapActions('namespace', ['nsOne','nsTwo']),
mapActions(['nonNsOne','nonNsTwo']),
【讨论】:
【参考方案2】:没关系。想出来是这样的:
...mapActions(
nsOne: 'namespaced/nsOne',
nsTwo: 'namespace/nsTwo',
nonNsOne: 'nonNsOne',
nonNsTwo: 'nonNsTwo'
)
【讨论】:
以上是关于Vuex mapActions、mapGetters 等...在同一个调用中混合命名空间和非命名空间操作/getters/mutations/state?的主要内容,如果未能解决你的问题,请参考以下文章
vuex2中使用mapGetters/mapActions报错解决方法
Vuex中的mapState、mapMutations、mapActions、mapGetters的简单理解
vuex2中使用mapGetters/mapActions报错解决方法
Vuex mapActions、mapGetters 等...在同一个调用中混合命名空间和非命名空间操作/getters/mutations/state?
关于mapState和mapMutations和mapGetters 和mapActions辅助函数的用法及作用-----mapState
vuex2中使用mapMutations/mapActions报错解决方法 BabelLoaderError: SyntaxError: Unexpected token