2016-03-07 22 views
0

处理某些数组项目,但卡住了* ngFor不接受另一个*ngFor提供的动态值。* ngFor不适用于动态值

<table border="2"> 
    <tr> 
    <th rowspan="2">Subject</th> 
    <th colspan="4" *ngFor='#category of json.category_name'>{{category}}</th> 
    <th colspan="4">Overall</th> 
    </tr> 
    <tr> 
    <div *ngFor="#category of json.category_name"> 
     <th *ngFor="#fa of json.total_fa.category">{{fa}}</th> //Not Working 
    </div> 
    </tr> 
</table> 

在这里的注释行,我想提供json.total_fa.category,其中该category从另一个*ngFor这是刚刚上面定义的到来。但没有得到任何结果似乎棱角分明,试图找出不存在的json.total_fa.category本身。

但我想加载json.total_fa_term1(这是该类别的第一个索引)。我怎么能实现这一点。

  1. 我可以在同一HTML组件上使用多个* ngFor吗?

  2. 有时* ngFor和* ngIf在嵌入同一元素时无法正常工作为什么?

这里是我的workground demo

回答

2

您需要使用.total_fa[category]而不是.total_fa.category否则你会尝试与名称category访问属性:

<div *ngFor="#category of json.category_name"> 
    <th *ngFor="#fa of json.total_fa[category]">{{fa}}</th> 
</div> 

查看更新plunkr:http://plnkr.co/edit/v08AdzNsR4GHMlZWQNsR?p=preview

+0

哇,工作正常,但有点问题在那里。 ''不能正常工作我不知道为什么根据期望所有''应该在单行。如何实现这个? –

+0

我可以在一个元素中使用多个'* ngFor'吗? –

+0

我认为你应该利用管道而不是'ngFor'作为你的用例。当然你可以有多个'ngFor'。我更新了我的分叉plunkr,使您的示例工作:http://plnkr.co/edit/v08AdzNsR4GHMlZWQNsR?p=preview。随意告诉我,它是否与你所期望的相符;-) –