我正在将对象数组的内容输出到模板中具有各种移动速率的表中。用户可以选择在各种距离单位之间进行转换的按钮,并且希望根据所选语句动态调整模板中的对象值,但是对于我的生活,我可以在不重新加载的情况下弄清楚如何执行此操作。每次整个阵列。
有没有办法将对象值传递给辅助方法,该方法根据所选单位重新计算?我以为我可以构建一个帮助方法来重新计算列表,但我对Angular来说还是一个新手,这似乎并不是这样。谢谢你的帮助。
int
在模板中输出表格如下:
this.movementRatesFlat =[
{
terrain: 'Flat',
path: 'Paved Road',
foot: 5,
horse: 10,
cart: 5,
wagon: 5
},
{
terrain: 'Flat',
path: 'Unpaved Road',
foot: 5,
horse: 9,
cart: 5,
wagon: 4
}, ...
]
答案 0 :(得分:0)
您可以从模板中调用函数。 所以,你可以:
<tr *ngFor="let mr of movementRatesFlat">
<td>{{mr.path}}</td>
<td class="text-center">{{convert(mr.foot)}}</td>
<td class="text-center">{{convert(mr.horse)}}</td>
<td class="text-center">{{convert(mr.cart)}}</td>
<td class="text-center">{{convert(mr.wagon)}}</td>
</tr>
在你的组件中,你会有类似的东西:
public selectedUnits;
public convert(value) {
return .... /* some function involving 'this.selectedUnits' */
}