Angular 2转换组件输入



我有一个组件像

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的管道文档中读到,强烈建议在组件逻辑中做过滤和排序。

您可以将inspections设置为setter,这样,每次更新inspections时,都会执行分组:

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

在视图中,您将其绑定到groupedInspections

你应该注意,当向传递的数组中添加/删除项时,这个函数不会被调用。

最新更新