动态调整模板中的对象值?

时间:2018-01-01 23:58:47

标签: angular

我正在将对象数组的内容输出到模板中具有各种移动速率的表中。用户可以选择在各种距离单位之间进行转换的按钮,并且希望根据所选语句动态调整模板中的对象值,但是对于我的生活,我可以在不重新加载的情况下弄清楚如何执行此操作。每次整个阵列。

有没有办法将对象值传递给辅助方法,该方法根据所选单位重新计算?我以为我可以构建一个帮助方法来重新计算列表,但我对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
  }, ...
  ]

1 个答案:

答案 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' */
}