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

MrN*_*rax 3 javascript vuex vuejs2

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

computed: {...
    filtered () {
      return this.withFilters(obj1, obj2) 
Run Code Online (Sandbox Code Playgroud)

withFilters一个getter在店里来定义。但是,如何在存储中获取传递给它的参数withFilters并相应地定义此getter?对于1参数函数,我只需做类似

withFilter: state => obj1 => { ...
Run Code Online (Sandbox Code Playgroud)

例如:

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

不确定如何使用2参数功能。

Phi*_*hil 8

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

getters: {
  withFilter (state) {
    return (obj1, obj2) => {
      // your code here
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

withFilter: (state) => (obj1, obj2) => {
  // your code here
}
Run Code Online (Sandbox Code Playgroud)

请参阅此处有关ES6箭头功能和参数括号的文档...

// 只有一个参数名称时,括号是可选的:
(singleParam)=> {语句}
singleParam => {语句}