Ответ 1
Один из способов сделать это может быть:
new Vuex.Store({
getters: {
someMethod(state){
var self = this;
return function (args) {
// return data from store with query on args and self as this
};
}
}
})
Тем не менее, getter не принимает аргументы и почему объясняется в этой теме:
соглашение об именах немного сбивает с толку, геттеры указывают, что состояние может быть получено в любой форме, но на самом деле они являются редукторами.
Возможно, у нас должны быть редукторы, являющиеся чистыми методами. Который может быть использован для фильтрации, картирования и т.д.
тогда получателям можно дать любой контекст. Аналогично computed, но теперь вы можете комбинировать вычисленные реквизиты с геттерами в опции vuex. Который помогает состав компонентов.
Редактировать:
Лучшим способом достижения того же результата будет использование стрелки ES6, как подробно описано в ответе nivram80, с использованием методов получения стиля метода, где вы можете передать параметр, возвращая функцию из метода получения:
new Vuex.Store({
getters: {
someMethod: (state) => (id) => {
return state.things.find(thing => thing.id === id)
}
};
}
})