我有一个像
这样的组件export class InspectionComponent {
@Input()
inspections: Inspections[];
}
我想通过日期属性对检查进行分组。我是否使用或管道或有没有办法转换组件中的列表?我在想一个可观察的,但我无法弄清楚是否可以观察到一个组件输入?
基本上我想写的是(我知道这没有意义,但它表明了这一点)
export class InspectionComponent implement OnInit {
@Input()
inspections: Inspection[];
groups: { date: Date, inspections: Inspection[] };
ngOnInit() {
inspections.groupBy(...).subscribe(groups => this.groups = groups);
}
}
我已经在Angular Docs on Pipes上读到强烈建议在组件逻辑中进行过滤和排序。
答案 0 :(得分:1)
每次更新inspections
时,您都可以inspections
设置一个setter,执行分组:
groupedInspections: Inspections[]
@Input()
set inspections(inspections: Inspection[]) {
this.groupedInspections = ...
}
在视图中,然后绑定到groupedInspections
。
您应该知道,在向传递的数组添加/删除项目时不会调用此项。