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

时间:2018-01-23 11:13:32

标签: javascript vuejs2 getter vuex

我在使用vuex时遇到问题。

我在命名空间模块中有getter,我不知道如何在传递一些参数时用Ii获取数据。

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

并且在maper。

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

获取此getter之类的错误不是一个功能。我还有什么事呢?

3 个答案:

答案 0 :(得分:1)

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);
  }
}
哦,我在那里遇到了一些错误,现在它正常运作。谢谢!! :)

答案 1 :(得分:0)

您还可以这样声明一个吸气剂功能:

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

答案 2 :(得分:0)

更简单的方法是使用名称分隔的吸气剂:

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