当我从 firebase 数据库中检索值时,我想将值推送到如下所示的数组中
columns: any[];
this.columns = [
{ columnDef: 'FirstName', header: 'First Name', cell: (element: any) => `${element.FirstName}` },
{ columnDef: 'LastName', header: 'Last Name', cell: (element: any) => `${element.LastName}` },
];
这是我到目前为止尝试过的......
this.af.list('/datalist', {
query: {
limitToLast: 200,
orderByChild: 'name',
equalTo: 'spiderman',
preserveSnapshot: true
}
}).subscribe(snapshot=>{
if(snapshot!=undefined){
snapshot.forEach(function(childSnapshot) {
this.columns.push( { columnDef: childSnapshot.heroname, header: childSnapshot.herotitle, cell: (element: any) => `${element.heroname}` });
this.displayedColumns = this.columns.map(c => c.columnDef);
return false;
});
}
});
上述代码的错误是无法读取未定义的属性“列”
即使我在全球范围内声明了列数组,它也无法识别它。
在 HTML 中我想这样使用....
<ng-container *ngFor="let column of columns" [cdkColumnDef]="column.columnDef">
<mat-header-cell *cdkHeaderCellDef>{{ column.header }}</mat-header-cell>
<mat-cell *cdkCellDef="let row">{{ column.cell(row) }}</mat-cell>
</ng-container>
任何提示表示赞赏。谢谢你。