Vuex mapActions, mapGetters и т. Д ... Смешивание действий / получателей / мутаций / состояний пространства имен и состояний без имен в одном вызове? - PullRequest
0 голосов
/ 11 января 2019

Мне просто любопытно, есть ли способ смешивать действия с именами и без них при вызове, например, ...mapActions. У меня есть только один модуль, достаточно большой, чтобы гарантировать полную инкапсуляцию модуля и, следовательно, пространство имен, поэтому некоторые действия будут things/someAction, а некоторые - просто someOtherAction. Я в настоящее время сопоставляю так:

...mapActions('nsACtions', ['nsOne', 'nsTwo']),
...mapActions('nonNsActionOne', 'nonNsActionTwo')

но очень предпочел бы объединить все в один mapActions. Что-то вроде:

...mapActions('nsACtions', 
    ['nsOne', 'nsTwo'],
    'nonNsActionOne', 
    'nonNsActionTwo')

OR

...mapActions('nsACtions', 
    ['nsOne', 'nsTwo'],
    ['nonNsActionOne', 
    'nonNsActionTwo'])

Ни один из этих примеров не работает, поэтому мне любопытно, решил ли кто-нибудь эту маленькую головоломку. Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Я добавил этот ответ, даже несмотря на то, что Мэтт Ларсон нашел решение, которое во многом отражает то же самое. Вы можете иметь несколько mapActions для ваших вычисленных значений, чтобы разделить пространства имен для большей ясности

computed: {
     mapActions('namespace', ['nsOne','nsTwo']),
     mapActions(['nonNsOne','nonNsTwo']),
}
0 голосов
/ 11 января 2019

Nevermind. Разобрался вот так:

...mapActions({
  nsOne: 'namespaced/nsOne',
  nsTwo: 'namespace/nsTwo',
  nonNsOne: 'nonNsOne', 
  nonNsTwo: 'nonNsTwo'
})
...