【问题标题】:Call getter from other vuex module with parameter使用参数从其他 vuex 模块调用 getter
【发布时间】:2020-05-14 05:05:00
【问题描述】:

我有resident.js

export default {
state : {
    residents: []
},
getters: {
    getResidentsById: (state) => (id) => {
        return state.residents.find(resident => resident.id === id)
    }
}
}

现在在另一个模块中:

actions: {
    get_registered_medication_list (context) {
        return medicationApi.getRegisteredMedication() 
            .then(medications => {
                const medicationArray = medications.map(medication => ({
                        ...medication,
                        residentName: context.rootGetters['resident/getResidentsById'](medication.resident)
                    })
                );
                context.commit('set_medication', medicationArray)
                return medicationArray
            })
            .catch(error => {
                return Promise.reject(error)
            })
    },

这是给我的 getResidentsById 不是函数。我想在药物清单上设置额外字段,即添加 residentName 字段,暂时

【问题讨论】:

  • 注册resident模块时是否使用namespaced: true
  • 分享您的商店模块。

标签: vue.js vuejs2 vue-component vuex


【解决方案1】:

转到您的resident 模块对象并将属性namespaced 设置为true,因此vuex 将使其分离并通过['myModule/myModuleResource'] 访问

例如

const myModule = {
    namespaced: true,
    actions: {...},
    getters: {...},
    mutations: {...},
    state: {...},
}
export default myModule

【讨论】:

    猜你喜欢
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2016-08-10
    • 1970-01-01
    • 2019-02-02
    • 2019-06-11
    • 2018-05-07
    相关资源
    最近更新 更多