首页 > 解决方案 > 如何调用传递给vuex动作函数的函数

问题描述

我的 vue 组件中有一个按钮

<button class="search-participant__btn" @click="getParticipant({iin, index, switchIsLoading})">Найти</button>

getParticipant,是动作 vuex 中的一个函数,我导入到这个组件中

export const getParticipant = ({commit, getters}, {iin, index, callback}) => {
    callback(true);
    axios.post('/getParticipant', {iin}).then(response => {
        if(response.data.success) {
        }
    })
}

但是当我想调用传递给 getParticipant 的函数时,它不起作用,我只需在单击按钮时将名为 isLoading 的本地状态数据更改为 true。然后将其切换为false,当响应回来时

如何正确制作?

标签: vue.jscallbackvuexaction

解决方案


在您的 vuex 中创建一个名为 isLoading 的状态,以及一个更新 isLoading 状态的突变。一旦在您的操作中创建了这些,您就可以使用 commit (isLoading, true) 并在其完成后使用 isLoading(false)。

然后,您可以使用计算函数访问组件中的 isLoading,请参阅文档。


推荐阅读