Действия Vuex, модули Vuex и mapActions с произвольным именем - PullRequest
0 голосов
/ 15 ноября 2018

Я застрял, глядя, как я могу использовать действие Vuex внутри шаблона, не вводя все имя действия, вот как выглядит мой код:

export default new Vuex.Store({ modules: articles, auth, blabla})

my article.module.js содержит действия, методы получения и т. Д., Одно из действий выглядит так:

[ArticleActions.remote.FETCH_ALL]({commit}) {something axios stuff}

Экспортируется с пространством имен true:

export const articles = {
namespaced: true,
state: initialState,
mutations,
actions,
getters
};

В моем компоненте ArticleList.vue я хочу использовать это действие с mapActions:

 methods: {
        ...mapActions('articles', [ArticleActions.remote.FETCH_ALL])
 }

Это работает, но я не хочу использовать значение ArticleActions.remote.FETCH_ALL в моем шаблоне, что я хочу получить, это

methods: {
        ...mapActions('articles', [{fetchAll: ArticleActions.remote.FETCH_ALL}])
 }

так что мне нужно только:

mounted(){fetchAll();}

вместо

mounted(){ArticleActions.remote.FETCH_ALL();}

Можем ли мы сделать это?

1 Ответ

0 голосов
/ 15 ноября 2018

Через некоторое время я сам все понял, это было легко ...

...mapActions('articles', {
                fetchAll: ArticleActions.remote.FETCH_ALL,
            }
        ),

Я застрял, потому что привык к альтернативному синтаксису:

...mapGetters("articles", [
            'articles',
        ])

Так что япытался только с [], но решение использует объекты, надеюсь, это поможет и извините.Теперь, если мы сделаем это, это будет работать:

mounted(){this.fetchAll();}
...