在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 的工作版本。您试图使用 lowerBound
和 upperBound
而没有 get
从表单中获取它们的值。您还试图不正确地使用 filterBy
:filterBy
仅适用于简单的相等,您需要 filter
进行更复杂的比较。
我正在尝试过滤作为文本输入的两个值之间的项目。例如,如果我有这个值:
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 的工作版本。您试图使用 lowerBound
和 upperBound
而没有 get
从表单中获取它们的值。您还试图不正确地使用 filterBy
:filterBy
仅适用于简单的相等,您需要 filter
进行更复杂的比较。