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

问题描述 投票:2回答:1

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

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

withFilters一起在商店中定义一个吸气剂。但是如何在商店中获取传递给withFilters的参数并相应地定义这个getter?对于单参数函数,我会简单地做一些类似的事情

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

例如:

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

不知道如何使用2参数函数。

javascript vuejs2 vuex
1个回答
4
投票

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

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

你可以完全用箭头功能写这个,但我觉得它看起来很乱(个人意见)

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.