【问题标题】:*ngFor is not working with dynamic values*ngFor 不适用于动态值
【发布时间】:2016-06-21 05:02:32
【问题描述】:

处理一些数组项目,但卡在 *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

【问题讨论】:

    标签: json angular ngfor


    【解决方案1】:

    您需要使用.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

    【讨论】:

    • 哇,工作正常,但有点问题。 &lt;th&gt; 无法正常工作我不知道为什么按照预期所有&lt;th&gt; 都应该在单行中。如何做到这一点?
    • 我可以在一个元素中使用多个*ngFor 吗?
    • 我认为您应该利用管道而不是 ngFor 来处理您的用例。当然,您可以拥有多个ngFor。我更新了我的分叉 plunkr 以使您的示例工作:plnkr.co/edit/v08AdzNsR4GHMlZWQNsR?p=preview。请随时告诉我它是否符合您的期望;-)
    • 我已经通过一些固定的代码完成了这个,但这里没有使用管道是 plnkr.co/edit/xEL1rITGKG7BAXgVwYIN?p=preview 。这是在这个用例中不使用管道的正确方法吗?顺便说一句,非常感谢您的帮助。
    • 您的方法似乎是正确的!我以前使用管道来压平阵列,但这可能不是您所需要的。只是一个提议;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2021-12-20
    • 2015-03-05
    • 2014-04-28
    • 1970-01-01
    相关资源
    最近更新 更多