在 ngFor 中调用一个函数,结果将在 <td> 个元素中使用
call a function in ngFor with results to be used in <td> elements
我的服务基本上是 returns 和 object:
{'health' : 50, 'status':'1A1', 'owner': 'Parent'}
还有一些基于公式。这些结果显示在 table 行中。在我的 component.ts 中,我有:
record_info = {}
itemStatus(item_id) {
this.record_info = this.itemInformationService.itemStatus(item_id);
}
然后 component.html:
<tr *ngFor="let item of items; itemStatus(item.id);">
<td>{{ record_info['health']</td>
<td>{{ record_info['status']</td>
<td>{{ record_info['parent']</td>
</tr>
但它不起作用。我试图避免在每个单元格上返回每个信息,因为健康状况决定状态,而状态决定 parent 用一种方法更容易完成它们。
我得到的错误是:
]*ngFor="let item of items; itemStatus(item.id);"
您可以做的是首先对每个条目应用 itemStatus
函数,然后在您的模板中迭代它们。
这是一个例子
component.ts
这将在每个条目上调用函数并将结果数组放在 records_info
records_info = this.items.map(item => this.itemStatus(item.id));
component.html
在模板中,您像使用 *ngFor
的任何数组一样遍历 records_info
<tr *ngFor="let record_info of records_info">
<td>{{ record_info.health</td>
<td>{{ record_info.status</td>
<td>{{ record_info.parent</td>
</tr>
希望这能解决您的问题,否则请告诉我们
我的服务基本上是 returns 和 object:
{'health' : 50, 'status':'1A1', 'owner': 'Parent'}
还有一些基于公式。这些结果显示在 table 行中。在我的 component.ts 中,我有:
record_info = {}
itemStatus(item_id) {
this.record_info = this.itemInformationService.itemStatus(item_id);
}
然后 component.html:
<tr *ngFor="let item of items; itemStatus(item.id);">
<td>{{ record_info['health']</td>
<td>{{ record_info['status']</td>
<td>{{ record_info['parent']</td>
</tr>
但它不起作用。我试图避免在每个单元格上返回每个信息,因为健康状况决定状态,而状态决定 parent 用一种方法更容易完成它们。
我得到的错误是:
]*ngFor="let item of items; itemStatus(item.id);"
您可以做的是首先对每个条目应用 itemStatus
函数,然后在您的模板中迭代它们。
这是一个例子
component.ts
这将在每个条目上调用函数并将结果数组放在 records_info
records_info = this.items.map(item => this.itemStatus(item.id));
component.html
在模板中,您像使用 *ngFor
的任何数组一样遍历 records_info <tr *ngFor="let record_info of records_info">
<td>{{ record_info.health</td>
<td>{{ record_info.status</td>
<td>{{ record_info.parent</td>
</tr>
希望这能解决您的问题,否则请告诉我们