Как передать несколько параметров получателям vuex? - PullRequest
0 голосов
/ 06 сентября 2018

В компоненте vue.js (с использованием vuex) у меня есть:

computed: {...
    filtered () {
      return this.withFilters(obj1, obj2) 

с withFilters геттером для определения в магазине. Но как в хранилище я могу получить аргументы, переданные withFilters, и соответственно определить этот получатель? Для функции с 1 аргументом я бы просто сделал что-то вроде

withFilter: state => obj1 => { ...

Например:

withFilter: state => obj1 => {
 for (var k in obj1) {
  obj1[k] !== null ? console.log('Not null!') : console.log('Null!')
 }
}

Не уверен, как это сделать с помощью функции с двумя аргументами.

1 Ответ

0 голосов
/ 06 сентября 2018

Вам просто нужно определить функцию, возвращаемую вашим getter с несколькими аргументами. Например

getters: {
  withFilter (state) {
    return (obj1, obj2) => {
      // your code here
    }
  }
}

Вы могли бы написать это полностью с помощью стрелок, но я думаю, что это выглядит грязно (личное мнение)

withFilter: (state) => (obj1, obj2) => {
  // your code here
}

См. Документацию по функциям стрелки ES6 и скобкам аргументов здесь ...

// Круглые скобки необязательны, когда только один имя параметра:
(singleParam) => {операторы}
singleParam => {операторы}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...