如何使用带参数的 vuex 命名空间 getter?

How to use vuex namespaced getters with arguments?

我在使用 vuex 时遇到问题。

我在命名空间模块中有 getters,当我传递一些参数时,我无法弄清楚如何使用 Ii 获取数据。

this.$store.getters.feeders.getFeedersById(id)

并在映射器中。

...mapGetters({
   feeders: ['feeders/getFeedersById'](this.id)

出现这样的错误 getter 不是函数。我还应该做什么?

feedersById(state) {
    return rowId => {
        if (state.feedersArray.hasOwnProperty(rowId)) {
            return state.feedersArray[rowId].map(id => state.feeders[id]);
        }

    }
},

feedersId() {
  if (this.rowData) {
   return this.$store.getters['feeders/feedersById'](this.rowData.ac_id);
  }
}

好的,我在那里犯了一些错误,现在它可以正常工作了。谢谢!! :)

您还可以像这样声明一个 getter 函数:

feedersById: (state) => rowID => {
  if (state.feedersArray.hasOwnProperty(rowId)) {
    return state.feedersArray[rowId].map(id => state.feeders[id]);
  }
}

更简单的方法是使用名称空间吸气剂:

computed(){
    ...mapGetters('feeders', ['getFeedersById'])
}