【发布时间】:2019-03-30 20:03:19
【问题描述】:
我希望有一个管道来返回数组中大于 30 的项目数。JSON 数组如下所示:
bmis = [
{
"bmi": 34.32
},
{
"bmi": 23.75
},
{
"bmi": 19.06
},
{
"bmi": 18.69
},
{
"bmi": 45.40
},
{
"bmi": 37.64
},
{
"bmi": 35.54
}
]
请注意,这些 bmi 值是用于测试结果的虚假值。
那么我的 bmi 管道如下所示:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'bmi'
})
export class BmiPipe implements PipeTransform {
transform(items: any[], attr: string): any {
let counter = 0;
for (let i = 0; i < items.length; i++) {
if (items[i] >= 30.0) {
counter++;
}
}
return counter;
}
}
最后,我的模板如下所示:{{ bmis | bmi }}
为了节省空间,我没有包含组件代码。此外,管道在 app.module 文件中注册。 此管道不返回 4,这是正确的结果。实际上。它什么也不返回。
我不确定管道代码的正确性。但我就是看不到缺失的部分。任何帮助将不胜感激!
【问题讨论】:
-
项目本身不大于 30,它们的属性可能是......
标签: angular typescript angular-pipe