我一直在寻找如何在模板中使用 Vuex 操作而不输入所有操作名称,这就是我的代码的样子:
export default new Vuex.Store({ modules: articles, auth, blabla})
我的articles.module.js 包含动作、getter 等,其中一个动作如下所示:
[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();}
我们能做到吗?