如何将多个参数传递给vuex getter?

时间:2018-09-06 00:11:19

标签: javascript vuejs2 vuex

在vue.js组件(使用vuex)中,我有:

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

使用withFilters在商店中定义的吸气剂。但是,如何在存储中获取传递给withFilters的参数并相应地定义此getter?对于1个参数的函数,我只会做类似的事情

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

例如:

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

不确定如何使用2参数函数。

1 个答案:

答案 0 :(得分:4)

您只需要使用多个参数定义getter返回的函数即可。例如

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

您可以完全使用箭头功能来编写此代码,但我认为它看起来很乱(个人观点)

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

请参阅有关ES6箭头函数和参数括号here...

的文档
  

///仅在参数名称为 时,括号是可选的:
  (singleParam)=> {语句}
  singleParam => {语句}