简体   繁体   English

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

[英]How to use vuex namespaced getters with arguments?

I have issue when Im using vuex.我在使用 vuex 时遇到问题。

I have getters in namespaced module and I cant figurę out how to get the data with Ii when Im passing some arguments.我在命名空间模块中有 getter,当我传递一些参数时,我无法弄清楚如何使用 Ii 获取数据。

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

And in maper.并在映射器中。

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

Getting error like this getter is not a function.像这个 getter 这样的错误不是一个函数。 What else shoudl I do?我还应该做什么?

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);
  }
}

Okey I had some mistake there and now it works properly.好吧,我在那里犯了一些错误,现在它可以正常工作了。 Thanks!!谢谢!! :) :)

You can also declare a getter function like this:您还可以像这样声明一个 getter 函数:

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

The easier way is to use name spaced getters:更简单的方法是使用名称间隔的 getter:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM