首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Angular 7中使用ngFor显示嵌套的json数据

在Angular 7中,可以使用ngFor指令来显示嵌套的JSON数据。ngFor指令用于循环遍历数组或对象,并生成相应的HTML元素。

首先,确保你已经安装了Angular CLI,并创建了一个新的Angular项目。然后,按照以下步骤进行操作:

  1. 在组件的.ts文件中,定义一个嵌套的JSON数据。例如,假设你有以下的JSON数据:
代码语言:txt
复制
nestedData = [
  {
    id: 1,
    name: 'Parent 1',
    children: [
      { id: 11, name: 'Child 1.1' },
      { id: 12, name: 'Child 1.2' },
      { id: 13, name: 'Child 1.3' }
    ]
  },
  {
    id: 2,
    name: 'Parent 2',
    children: [
      { id: 21, name: 'Child 2.1' },
      { id: 22, name: 'Child 2.2' }
    ]
  }
];
  1. 在组件的.html文件中,使用ngFor指令来循环遍历嵌套的JSON数据。例如:
代码语言:txt
复制
<div *ngFor="let parent of nestedData">
  <h2>{{ parent.name }}</h2>
  <ul>
    <li *ngFor="let child of parent.children">
      {{ child.name }}
    </li>
  </ul>
</div>

在上面的代码中,首先使用第一个ngFor指令循环遍历父级对象,然后在每个父级对象内部使用第二个ngFor指令循环遍历子级对象。

  1. 运行你的Angular应用程序,你将看到嵌套的JSON数据被正确地显示在页面上。

这是一个简单的示例,展示了如何在Angular 7中使用ngFor显示嵌套的JSON数据。根据实际需求,你可以根据ngFor指令的灵活性进行更多的定制和样式设置。

推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云对象存储(COS)。

腾讯云云服务器(CVM)是一种可扩展的计算服务,提供了高性能、可靠稳定的云服务器,适用于各种应用场景。了解更多信息,请访问:腾讯云云服务器(CVM)

腾讯云对象存储(COS)是一种安全、低成本、高可靠的云存储服务,适用于存储和处理各种类型的数据。了解更多信息,请访问:腾讯云对象存储(COS)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

AngularDart4.0 指南- 模板语法二 顶

使用HTML表单元素(和)双向绑定会很方便。 但是,没有原生HTML元素遵循x值和xChange事件模式。...NgModel - 与[(ngModel)]形成元素双向绑定 在开发数据输入表单时,通常都会显示数据属性,并在用户进行更改时更新该属性。 使用NgModel指令进行双向数据绑定使得这一切变得简单。...Angular应该能够捕获组件数据属性,并使用[(ngModel)]语法将其设置为一个声明: [(ngModel)]是你需要吗...警惕隐藏大型组件树; NgIf可能是更安全选择。 警惕null ngIf指令通常用于防止null。 显示/隐藏是无用。 如果嵌套表达式试图访问null属性,Angular会抛出一个错误。...下一个示例捕获名为i变量中索引,并使用像这样英雄名称来显示它。

29.9K20

AngularDart4.0 英雄之旅-教程-04明细 顶

-- each hero goes here --> 下一步你将添加英雄名字 使用ngFor指令罗列英雄 目标是将组件中英雄列表绑定到模板,迭代它们,并单独显示它们。...在显示数据Showing a list property with *ngFor部分阅读更多关于ngFor和模板输入变量和模板语法页ngFor部分 在节点内添加内容hero模板变量来显示英雄属性...> {{hero.name}} 要在模板中使用Angular指令,需要在组件@Component注解指令参数中列出。...当用户选择一个英雄时,selectedHero变为非null,ngIf将英雄详细内容放入DOM中,并评估嵌套绑定。...您将Hero类移到lib / src下自己文件中。 你增加了选择英雄和显示英雄细节能力。 您了解了如何在组件模板中使用核心指令ngIf和ngFor

3K30

Angular核心概念:数据绑定

Angular核心概念:数据绑定 博客首页:蔚说博客 欢迎关注点赞收藏⭐️留言 作者水平很有限,如果发现错误,求告知,多谢! 有问题可私信交流!!!...(达内教育学习笔记)仅供学习交流 Angular数据绑定 Angular核心概念:数据绑定(1)HTML绑定:{{NG表达式}}(2)属性绑定(3)指令绑定(4)事件绑定()(5)双向数据绑定指令...{{uname}}">直接在属性上使用 形式2:直接使用[]推荐 注意:属性绑定通常赋值为变量,如果赋值为常量(字符串常量必须用引号括起来,<img [src]=“‘…/…/assets/...循环绑定:ngFor <any *ngFor=“let...Angular指令分三类: 1.组件指令:NG中Component继承自Directive 2.结构型指令:会影响DOM树结构,必须使用开头,ngFor,*ngIf 3.属性型指令:不会影响DOM

3.5K10

AngularDart 4.0 高级-管道 顶

介绍Angular管道,这是一种编写显示值转换方法,您可以在HTML中声明这些转换。 尝试一下实例(查看源代码)。 使用管道 管道将数据作为输入并将其转换为所需输出。...如果管道接受多个参数,请使用冒号分隔值(slice:1:5) 修改生日模板以给日期管道一个格式参数。...当您使用管道时,Angular会选择更简单,更快速变更检测算法。  不使用管道 在下一个示例中,组件使用默认积极变化检测策略来监控并更新其hero列表中每个英雄显示。...Flying Heroes应用程序通过复选框开关和附加显示扩展代码,以帮助您体验这些效果。 ? 替换列表是发信号通知Angular更新显示有效方式。 你什么时候更换清单? 数据发生变化时。...JsonPipe 在前面的代码示例中,第二个提取管道绑定显示了更多管道链接。 它通过链接到内置JsonPipe以JSON格式显示相同英雄数据

6.3K20

AngularDart4.0 指南- 显示数据

您可以通过将HTML模板中控件绑定到Angular组件属性来显示数据。 在这个页面中,您将创建一个包含英雄列表组件。 您将显示英雄名单列表,并有条件地在列表下方显示一条消息。...您可以使用模板属性内联定义它,也可以使用组件元数据@Component注解templateUrl属性链接到单独定义模板HTML文件。...在任一种样式中,模板数据绑定都具有对组件属性相同访问权限。 用* ngFor显示一个列表属性 要显示英雄列表,首先向组件添加英雄名字列表,并将myHero重新定义为列表中第一个名字。...Angular ngFor指令来显示英雄列表中每个项目。...Angular使用该变量作为双曲花括号内插上下文。 在这种情况下,ngFor正在显示一个列表,但ngFor可以为任何Iterable对象重复项目。

5.3K10

AngularDart 4.0 高级-结构指令 顶

Angular不断检查可能会影响数据绑定更改。 无论组件在做什么,它都会继续这样做。 虽然看不见,但组件及其所有后代组件都会占用资源。 性能和记忆负担可能很大,响应性可能会降低,用户什么也看不到。...NgFor指令具有比本指南中显示NgIf更多功能,包括必需和可选。 至少NgFor需要一个循环变量(let hero)和一个列表(heroes)。...使用星号(*)前缀表示法将它们附加到元素。当NgSwitchCase值与switch值匹配时,会显示宿主元素。...指令属性名称应使用lowerCamelCase拼写,并以前缀开头。 不要使用ng。 该前缀属于Angular。 选择适合您或您公司简短内容。 在这个例子中,前缀是my。...在没有合适宿主元素时使用作为分组元素。 Angular将星号(*)语法解析为。 NgIf,NgFor和NgSwitch内置指令如何工作。

16K20

Angular 从入坑到挖坑 - 表单控件概览

一、Overview angular 入坑记录笔记第三篇,介绍 angular 中表单控件相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验。...响应式表单 建立表单 由组件隐式创建表单控件实例 在组件类中进行显示创建控件实例 表单验证 指令 函数 在表单数据发生变更时,模板驱动表单通过修改 ngModel 绑定数据模型来完成数据更新,...name 属性则是 angular 用来注册控件 key,所以在表单中使用 ngModel 进行双向数据绑定时,必须要添加 name 属性 4.2.2、跟踪表单控件状态 在表单中使用 ngModel...当构建复杂表单时,可以在 FormGroup 中通过嵌套 FormGroup 使表单结构更合理 import { Component, OnInit } from '@angular/core';...在模板驱动表单中,因为不是直接使用 FormControl 实例,因此这里应该在模板上添加一个自定义指令来完成对于控件数据校验 使用 angular cli 创建一个用来进行表单验证指令 ng

18.9K20

ionic3升级适配angular5

于是我们升级步骤如下: 一、更新包依赖 删除package-lock.json和node_modules,然后修改package.json如下: "dependencies" : { ......更新说明: ---- 更改内容: I18n更改; 内置管道Date、Currency、Percent更改; 弃用内容: compiler: ngGetContentSelectors()在v4版本被移除...也已经失效; compiler: 编译选项useDebug从v4版本已经弃用且无效,现在移除; common: NgFor在v4版本被弃用,现用NgForOf代替,但不影响在模版中使用*ngFor; common.../common/http中,更新Http模块后,需要使用HttpClientModule替换原有HttpModule,并在使用http服务时,可以去掉map(res=>res.json())调用,因为新模块中已经不再需要了...若有请求选项,直接用一个any对象(因为原来RequestOptions已经不用了),: let options: any = {headers: new Headers()}; 最后删除掉:

2.5K40

Angular 显示英雄列表

在本页面,你将扩展《英雄指南》应用,让它显示一个英雄列表, 并允许用户选择一个英雄,查看该英雄详细信息。 创建模拟(mock)英雄数据 你需要一些英雄数据以供显示。...它会为列表中每项数据复写它宿主元素。 在这个例子中  就是 *ngFor 宿主元素 heroes 就是来自 HeroesComponent 类列表。...Angular 会把所点击  上 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义那个。...英雄们显示在列表中,并且所点英雄详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白细节 该组件应该只有当 selectedHero 存在时才显示所选英雄详情。...用户可以选择一个英雄,并查看该英雄详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 样式类。

4.4K70

Angular 2 数据显示

本章节我们将为大家介绍如何将数据显示到用户界面上,可以使用以下三种方式: 通过插值表达式显示组件属性 通过 NgFor 显示数组型属性 通过 NgIf 实现按条件显示 ---- 通过插值表达式显示组件属性...要显示组件属性,插值是最简单方式,格式为:{{属性名}}。...以下代码基于 Angular 2 TypeScript 环境配置 来创建,你可以在该章节上下载源码,并修改以下提到几个文件。...{ title = '站点列表'; mySite = '菜鸟教程'; } Angular 会自动从组件中提取 title 和 mySite 属性值,并显示在浏览器中,显示信息如下: 使用 ngFor...显示数组属性 我们也可以循环输出多个站点,修改以下文件: app/app.component.ts 文件: import { Component } from '@angular/core'; @Component

2.4K20

Angular2 之 结构型指令几个概念

(* 与 template) 控制宿主元素模板。 在哪里去显示,viewcontain 怎么注入,属性set语法使用,是便捷监听属性值变化途径。...隐藏元素利弊 当我们隐藏元素时,组件行为还在继续。 它仍然附加子啊它所属于DOM元素上,它仍然在监听事件。angular会继续检查哪些能影响数据绑定变更。...标签 结构型指令,比如ngIf,使用HTML 5template标签 完成它们“魔法”。 控制Template标签内DOM添加与显示,在模板级别使用。... 这时候显示内容是'Hip! Hooray!',在Angular控制下,DOM效果是不同。 ?...要么显示包含在Template标签中,要么隐式使用*这种语法糖去包装在Template标签中。它简化了ngIf和ngFor —— 无论是写还是读。

3K20

AngularDart4.0 英雄之旅-教程-08HTTP 顶

响应JSON有一个单一数据属性,它拥有主叫方想要英雄列表。 所以你抓住这个列表并把它作为已解决Future值返回。 请注意服务器返回数据形状。...该代码还包含传播异常给调用者错误,以便调用者可以向用户显示适当错误消息。...对于模拟来说这很好,但是当你只需要一个真正服务器给所有英雄时,这是浪费。 大多数web API支持以api / hero /:id(api / hero / 11)形式获取请求。...当应用程序使用模拟英雄列表时,更新直接应用于单个应用程序范围共享列表中英雄对象。 现在,您正在从服务器获取数据,如果您希望更改持续存在,则必须将其写回服务器。...如果用户使用鼠标操作粘贴文本,则会触发更改事件绑定。 正如所料,* ngFor从组件英雄属性重复英雄对象。 但正如你很快就会看到,英雄财产现在是一个英雄列表流,而不仅仅是一个英雄名单。

11K30

Angular DOM 抽象概述

为了能够支持跨平台,Angular 通过抽象层封装了不同平台差异,统一了 API 接口。定义了抽象类 Renderer2 、抽象类 RootRenderer 等。...,Angular 为我们开发者提供了 元素,在 Angular 内部它主要应用在结构指令中,比如 *ngIf、*ngFor 等。...: 创建内嵌视图(embedded view) 遍历内嵌视图中 rootNodes,动态插入 node 虽然我们已经成功显示出 template 模板元素中内容,但发现整个流程还是太复杂了,那有没有简单地方式呢...初学者,可能会在某个标签上同时使用 *ngIf 或 *ngFor 指令,比如: <div class="lesson" *ngIf="lessons" *ngFor="let lesson of lessons..._moduleRef.destroy(); } } 总结 本文主要介绍了 Angular 中常见引用类型, ElementRef、TemplateRef、ViewRef 等。

3.5K30

angular知识点梳理第二篇-基本语法

,但是在angular中我们引入框架一个核心模块FormsModule才可以,该指令就是将数据驱动视图改变!...-- 使用{{}}进行数据获取 --> {{inputData}} 运行效果 NgFor NgFor和我们js中for循环渲染数据是一致,所以这里是比较容易理解,简单演示一下...在需要使用数据绑定组件进行数据处理 import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-home...true显示: false不显示: Ng-container ng-container 这里有必要介绍一下,这个类比的话就喝vuetemplate是基本一致,不是完全一致,我们可以将它看作一个承载体...官方的话:为没有 DOM 元素指令安排宿主 管道 管道其实就是具有一定功能函数,主要是一些场景是对字符串什么进行简单转化,当然我们也可以自己使用自定义函数进行数据转换,只是angular给我们提供了一些初始化功能函数管道详细列表

2.5K30
领券