Angular 2变换组件输入

时间:2016-09-12 09:42:16

标签: angular

我有一个像

这样的组件
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上读到强烈建议在组件逻辑中进行过滤和排序。

1 个答案:

答案 0 :(得分:1)

每次更新inspections时,您都可以inspections设置一个setter,执行分组:

groupedInspections: Inspections[]
@Input()
set inspections(inspections: Inspection[]) {
  this.groupedInspections = ...
}

在视图中,然后绑定到groupedInspections

您应该知道,在向传递的数组添加/删除项目时不会调用此项。