在emberjs中的两个值之间过滤

Filtering between two values in emberjs

我正在尝试过滤作为文本输入的两个值之间的项目。例如,如果我有这个值:

people=[
{
   name: 'Ricky',
   age: 21
},
{
   name: 'Mike',
   age: 32
},
{
  name: 'Arianna',
  age: 23
}
];

在模板中我有这样的东西:

{{input type='number'}}min Age
{{input type='number'}}max Age

如何只显示 20 到 25 岁之间的人?通过输入获取值 20 和 25。 jsbin: http://emberjs.jsbin.com/kosoyo/1/edit?html,js

您没有提供太多上下文,但假设这些值存储在 people:

people.filter(function(person) {
  return person.age >= 20 && person.age <= 25;
});

鉴于您的更新,仍然缺乏上下文:

var lowerBound = parseInt(this.get('lowerBound'));
var upperBound = parseInt(this.get('upperBound'));

people.filter(function(person) {
  return person.age >= lowerBound && person.age <= upperBound;
});

Here 是您的 JS Bin 的工作版本。您试图使用 lowerBoundupperBound 而没有 get 从表单中获取它们的值。您还试图不正确地使用 filterByfilterBy 仅适用于简单的相等,您需要 filter 进行更复杂的比较。