2017-10-21 55 views
0

我有一个分量与此代码角2复杂的内插属性

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

被正确显示的对象的属性,如果column.value具有简单的值,但如果该值具有这样的复杂的数值它不会出现如property.nestedproperty

我该如何解决这个问题?

谢谢。

+0

你能解释一下你想要达到什么水平吗?为什么有这样的动态模板?这些列值从哪里来? –

+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> 

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