Префикс или область действия Vuex mapActions и mapGetters, чтобы избежать конфликтов - PullRequest
0 голосов
/ 08 сентября 2018

Я использую Vuex store с user.module с действиями и геттерами , я импортирую тему в мои компоненты следующим образом:

<template>
     ...

     <login-form v-if="!isAuthenticated"/>

     ...
</template>

<script>
    import { mapActions, mapGetters } from 'vuex'

    export default { 

        ...

        computed :{
            ...mapGetters('user', ['isAuthenticated', 'isProcessing']),
        },
        methods:{
            ...mapActions('user', ['getUser']),
        }

        ...
    }
</script>

приведенный выше скрипт работает отлично, я хочу scope, namespace или добавить префикс к моим действиям и получателям, чтобы избежать конфликтов с другими методами в моих компонентах, что-то вроде user.isAuthenticated, я попробовал эти комбинации, но ни одна из тем не выполнила работу:

...mapActions('user', ['user/getUser'])
...mapActions('user', ['user.getUser'])
...mapActions('user/user', ['getUser'])
...mapActions('user.user', ['getUser'])

заранее спасибо.

1 Ответ

0 голосов
/ 08 сентября 2018

Вам придется использовать синтаксис объекта для сопоставления действий с разными именами в компоненте:

...mapActions('user', {
  prefix_getUser: 'getUser',  // this.prefix_getUser -> user/getUser action
  prefix_getFoo: 'getFoo',    // this.prefix_getFoo  -> user/getFoo action
})

Это описано в документах .

...