首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular2:遍历对象数组的ngFor

Angular2:遍历对象数组的ngFor
EN

Stack Overflow用户
提问于 2017-10-05 17:55:41
回答 1查看 3.5K关注 0票数 0

例如,使用这个JSON:

代码语言:javascript
复制
{
  "TableRows": [
    {
      "Name": "Lord of the Rnis",
      "Length": "2:40"
    }
  ],
  "Category": "Fantasy"
}

进入这些班级:

代码语言:javascript
复制
export interface IMovies{
    Category: string;
    TableRows: ITableRows[];
}

export interface ITableRows{
    Name: string;
    Length: string;
}

下面的ngFor逻辑工作得很好,但不是我想要循环的:

代码语言:javascript
复制
<tr *ngFor="let row of rows">
    <td>{{row.Category}}</td>
    <td>{{row.TableRows[0].Name}}</td>
    <td></td>
</tr>

这个逻辑不起作用:

代码语言:javascript
复制
<tr *ngFor="let row of rows.TableRows">
     <td>{{row.Name}}</td>
     <td>{{row.Length}}<td>
</tr>

我在这里做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-05 18:11:48

在您的情况下,您的第一个声明将不起作用。

第一次发言

代码语言:javascript
复制
<tr *ngFor="let row of rows">
    <td>{{row.Category}}</td>
    <td>{{row.TableRows[0].Name}}</td>
    <td></td>
</tr>

这是不起作用的,因为ngForangular 2中类似于ng-repeat中的angular 1。为了使您的ngFor工作,循环项必须是一个数组,在您的情况下,行是一个对象,而不是一个数组,因此它显然不能工作。

在你的第二次陈述中

代码语言:javascript
复制
<tr *ngFor="let row of rows.TableRows">
     <td>{{row.Name}}</td>
     <td>{{row.Length}}<td>
</tr>

循环项rows.TableRows是一个带有一个元素的数组,因此它将工作,并将输出作为

代码语言:javascript
复制
Lord of the Rnis    2:40

我希望这就是你要找的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46591992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档