gpt4 book ai didi

angular - 将列和数据动态加载到 Angular 2 中的表中

转载 作者:太空狗 更新时间:2023-10-29 17:24:50 25 4
gpt4 key购买 nike

我有一个 HTML 页面,我想在其中创建一个表格。此表中的列是动态的,这意味着它们是使用 any[] 类型从服务器获取到组件中的变量中的。此表中的数据也是动态的,这意味着在编程时我不知道哪些列和数据会绑定(bind)到表中。

我试过下面的代码,但它似乎不起作用或出现任何错误。它只是在 tbody 中创建空的 td

费用.component.html

<div class="panel panel-default" style="margin-top:10px;">
<div class="panel-heading">
Expenses
</div>
<div class="panel-body" style="position:relative">
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th *ngFor="#column of columns">
{{column}}
</th>
</tr>
</thead>
<tbody>
<tr *ngFor="#data of data">
<td *ngFor="#column of columns">
{{data.column}}
</td>
</tr>
</tbody>
</table>
</div>
</div>

在上面的代码中,列已成功创建,但数据和列混搭不起作用。我确信 Angular 2 中一定有一种方法可以实现这一点。

费用.component.ts

export class ExpenseComponent implements OnInit {
errorMessage: any[];
columns: string[];
data: any[];

constructor(private _commonService: CommonService, private _expenseService: ExpenseService) {

}

ngOnInit(): void {
this._commonService.getColumnNames('condomanagement', 'expenses')
.subscribe(data => this.promise(data), error => this.errorMessage = <any>error);
}

private promise(data: string[]) {
this.columns = data;
this._expenseService.getExpenses('condomanagement', this.columns)
.subscribe(data => this.anotherPromise(data), error => this.errorMessage = <any>error);
}

private anotherPromise(data: any[]) {
this.data = data;
console.log(this.columns);
console.log(this.data);
}

private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}

根据我的试验,数据已登录到上述代码中的控制台,但无法在 HTML 中运行。有什么想法吗?

更新:像这样使用插值并且它有效

{{mydata[column]}}

最佳答案

而不是使用

<tr *ngFor="#data of data">

你应该使用

<tr *ngFor="#data of data" *ngModel="data[column]">

关于angular - 将列和数据动态加载到 Angular 2 中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38810318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com