在emberjs中过滤两个值

时间:2015-01-26 23:37:00

标签: javascript ember.js ember-cli

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

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

1 个答案:

答案 0 :(得分:4)

您没有提供太多上下文,但假设这些值存储在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才能进行更复杂的比较。