Angular 2复数插值属性

时间:2017-10-21 12:48:13

标签: angular

我有一个包含此代码的组件

<tr *ngFor="let row of dataset">
    <td *ngFor="let column of columns">{{row[column.value]}}</td>
</tr>

如果column.value具有简单值,则会正确显示对象的属性,但如果值具有复杂值(例如property.nestedproperty)则不会显示。

我该如何解决问题?

感谢。

1 个答案:

答案 0 :(得分:0)

我多次遇到过这个问题,解决这个问题的最好方法是在组件中声明一个方法,例如getColumnValue(),你可以在其中计算并放置所有逻辑。  在您的组件类中 ..

getColumnValue(){
   //logic to get the column value
    return value
}

然后将此方法绑定到<td>的innerHtml属性 而不是

 <td *ngFor="let column of columns">{{row[column.value]}}</td>

使用

<td *ngFor="let column of columns" [innerHtml]="getColumnValue ()"> </td>

这是最简单的解决方法,其他方法包括创建通用组件或指令或子组件等。 但请相信我,以上是最清晰简洁的方式。