Reputation: 496
In a vue.js component (using vuex), I have:
computed: {...
filtered () {
return this.withFilters(obj1, obj2)
with withFilters
a getter to define in the store. But how in the store can I get the arguments passed to withFilters
and define this getter accordingly? For a 1-argument function I would have simply done something like
withFilter: state => obj1 => { ...
For example:
withFilter: state => obj1 => {
for (var k in obj1) {
obj1[k] !== null ? console.log('Not null!') : console.log('Null!')
}
}
Not sure how to do it with a 2-argument function.
Upvotes: 8
Views: 6794
Reputation: 164766
You just need to define the function returned by your getter
with multiple arguments. For example
getters: {
withFilter (state) {
return (obj1, obj2) => {
// your code here
}
}
}
You could write this entirely with arrow functions but I think it looks messy (personal opinion)
withFilter: (state) => (obj1, obj2) => {
// your code here
}
See the documentation on ES6 arrow functions and argument parentheses here...
// Parentheses are optional when there's only one parameter name:
(singleParam) => { statements }
singleParam => { statements }
Upvotes: 16