Я получаю данные json от серверной части с помощью службы и отображаю их в цикле в main.html. Теперь есть массив, который состоит из значений отображаемого столбца. Допустим, массив выглядит так: colors = [красный, синий]. Затем я хочу, чтобы отображались только записи с красным и синим цветом.
main.html
<div class="flip-right" *ngFor="let items of obs | async">
<mat-card>
<mat-card-header>
<mat-card-title>{{items.name}}</mat-card-title>
</mat-card-header>
<mat-card-subtitle>{{items.color}} </mat-card-subtitle>
</mat-card>
</div>
<mat-paginator [pageSizeOptions]="[5, 10, 25, 100]"></mat-paginator>
main.ts
export class PrivateComponent implements OnInit,OnDestroy {
//filter variables to store the selected values
color=[red,blue];
subscription: Subscription;
@ViewChild(MatPaginator) paginator: MatPaginator;
obs: Observable<any>;
dataSource = new MatTableDataSource();
constructor(
private changeDetectorRef: ChangeDetectorRef,
private cardsInfo :CardsInfoService) {
}
ngOnDestroy(): void {
// unsubscribe to ensure no memory leaks
this.subscription.unsubscribe();
if (this.dataSource) {
this.dataSource.disconnect();
}
}
ngOnInit(){
this.cardsInfo.getCardsInfo()
.subscribe(
data => {
this.dataSource.data = data;
});
this.changeDetectorRef.detectChanges();
this.dataSource.paginator = this.paginator;
this.obs = this.dataSource.connect();
}
ngAfterViewInit() {
this.dataSource.paginator = this.paginator;
}
}
данные json, передаваемые через службу
[
{"id":"1","name":"abc","color":"red"},
{"id":"2","name":"def","color":"blue"},
{"id":"3","name":"ghi","color":"green"},
{"id":"4","name":"def","color":"yellow"},
{"id":"5","name":"xyz","color":"red"},
]
Здесь я хочу, чтобы отображались только красный и синий цвет.
{ "id": "5", "name": "xyz", "color": "red" }
объект? - person Prashant Pimpale   schedule 27.01.2019