Reputation: 919
I have issue when Im using vuex.
I have getters in namespaced module and I cant figurę out how to get the data with Ii when Im passing some arguments.
this.$store.getters.feeders.getFeedersById(id)
And in maper.
...mapGetters({
feeders: ['feeders/getFeedersById'](this.id)
Getting error like this getter is not a function. What else shoudl I do?
Upvotes: 15
Views: 16538
Reputation: 855
The easier way is to use name spaced getters:
computed(){
...mapGetters('feeders', ['getFeedersById'])
}
Upvotes: 2
Reputation: 125
You can also declare a getter function like this:
feedersById: (state) => rowID => {
if (state.feedersArray.hasOwnProperty(rowId)) {
return state.feedersArray[rowId].map(id => state.feeders[id]);
}
}
Upvotes: 3
Reputation: 919
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!! :)
Upvotes: 24