gpt4 book ai didi

javascript - Vue 为多个模块添加可重用的突变

转载 作者:行者123 更新时间:2023-12-02 22:32:10 24 4
gpt4 key购买 nike

我有一个可以在多个 vuex 模块之间重用的突变,但会在模块级别修改状态。如何将突变分离出来,以便将其放入每个模块的突变中,而无需重复代码?

const state = {
fieldInfo: {}
}

const actions = {
async getOptions({ commit }) {
commit('setOptions', await Vue.axios.options('/'))
}
}

const mutations = {
setOptions(state, value) {
// long mutation happens here
state.fieldInfo = value
}
}

export default {
namespaced: true,
state,
actions,
mutations
}

最佳答案

由于您已经对商店进行了命名空间,因此这应该可以完美运行。您需要做的就是将突变函数移动到它自己的文件中,然后将其导入到您需要的存储中。

export default function (state, value) {
// long mutation happens here
state.fieldInfo = value
}

然后在您的商店

import setOptions from './setOptions.js'

const state = {
fieldInfo: {}
}

const actions = {
async getOptions({ commit }) {
commit('setOptions', await Vue.axios.options('/'))
}
}

const mutations = {
setOptions
}

export default {
namespaced: true,
state,
actions,
mutations
}

关于javascript - Vue 为多个模块添加可重用的突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58857733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com