angular - Angular 7:遍历数组并填充表格
问题描述
我正在尝试以 7 角填充表格。该表格的顶部将有固定列,前两行将在第一列从第三行开始固定标签。
我需要遍历数组并填充其余的单元格。目前它正在打印三个表格,因为我有一个外循环。如何以仅填充单元格的方式循环。
目前这是数据的样子
[
{
"m_Item1": "ArithmeticMean",
"m_Item2": 0.005521221052631577,
"m_Item3": 0.01912607076595362
},
{
"m_Item1": "AverageGain",
"m_Item2": 0.038913171935483874,
"m_Item3": 0.13479918175184283
},
{
"m_Item1": "AverageLoss",
"m_Item2": -0.03429225884615385,
"m_Item3": -0.11879186925568348
}
]
我需要填写下表。目前我只设置了算术平均值,我需要分配所有其他字段。但现在我主要关心的是如何只迭代行而不是表。另请注意,如果行是动态的,如果没有数据,则需要打印空单元格
以下是我正在使用的代码
<div *ngFor="let fundStats of fundStatistics">
<table class="statsTable">
<tr>
<td></td>
<td colspan="2" class="tableItem header">Fund Name</td>
<td colspan="2" class="headerTableItem header">Benchmark</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td class="tableItem bold">Monthly </td>
<td class="tableItem bold">Annualized</td>
<td class="tableItem bold">Monthly </td>
<td class="tableItem bold">Annualized</td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Compound ROR</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Arithmetic Mean </td>
<td class="tableItem">{{fundStats.m_Item2}}</td>
<td class="tableItem">{{fundStats.m_Item3}}</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Standard Deviation</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Average Gain</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Average Loss</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Downside Deviation</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Sharpe</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Sortino</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Skewness</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Kurtosis</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Gain Deviation</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header">Loss Deviation</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header" style="border-bottom: solid 1px lightgrey">Av Gain / Av Loss</td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
</tr>
</table>
</div>
解决方案
将循环保持在表内以生成行
<table class="statsTable">
<tr>
<td></td>
<td colspan="2" class="tableItem header">Fund Name</td>
<td colspan="2" class="headerTableItem header">Benchmark</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td class="tableItem bold">Monthly </td>
<td class="tableItem bold">Annualized</td>
<td class="tableItem bold">Monthly </td>
<td class="tableItem bold">Annualized</td>
</tr>
<tr *ngFor="let fundStats of fundStatistics">
<td class="titleTableItem header">{{fundStats.m_Item1}}</td>
<td class="tableItem">{{fundStats.m_Item2}}</td>
<td class="tableItem">{{fundStats.m_Item3}}</td>
<td class="tableItem"></td>
<td class="tableItem"></td>
</tr>
<tr class="rowItem">
<td class="titleTableItem header" style="border-bottom: solid 1px lightgrey">Av Gain / Av Loss</td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
<td class="tableItem" style="border-bottom: solid 1px lightgrey"></td>
</tr>
</table>
推荐阅读
- java - 连接 4 Android Studio 绘制空格
- sass - 带有 Sass 和 Gatsby 的 CSS 模块
- oauth-2.0 - OAuth 客户端是否需要验证令牌作为授权代码授予的一部分?
- arrays - 恢复数组中的表单域
- python - 以类似 C-struct 的方式在 Python3 中定义数据
- amazon-web-services - API Gateway - 自定义 Lambda 授权方,验证 Cognito 用户池组中是否存在传递的标头值(用户名)
- jquery - 如何使用 AJAX 和 jQuery 将 blob 音频发布到 Python 服务器?
- excel - 在 VBA Excel 中检查文件夹和文件
- javascript - 将组件 vue js 渲染到导航选项卡中
- ios - 在 Xcode 11、SwiftUI 中呈现 UIViewController 的问题