【问题标题】:How to pass arguments to setter in javascript object?如何将参数传递给javascript对象中的setter?
【发布时间】:2025-12-23 21:50:12
【问题描述】:

我有一个对象,它是与选择列表相对应的过滤器列表。当用户从下拉列表中选择时,我想使用这个 getter/setter 更新对象。我也在使用事件监听器。我以为参数会自动传递给处理程序。

var formFilters = {
  audience: 'All',
  get audienceFilter() {
    return this.audience;
  },
  set audienceFilter(input) {
    $('select').on('change', this.audienceFilter);
  }
};

然后看看是怎么回事:

$('select').on('change', function(e){
  console.log(formFilters.audience);
});

【问题讨论】:

  • 我不清楚问题是什么,或者你认为上面的代码应该做什么。

标签: jquery oop setter getter


【解决方案1】:

其实挺直接的:

formFilters.audienceFilter = 'customValue';

更新:https://jsfiddle.net/7431fz7u/1/

【讨论】:

  • 我正在努力解决的问题是如何将选择元素的值传递给设置器。 $('select').on('change', formFilters.audienceFilter) 似乎不起作用