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

Angular 4使用嵌套*ngFor正确

Angular 4是一种流行的前端开发框架,它使用TypeScript编写,并且具有强大的功能和灵活性。在Angular 4中,*ngFor是一个常用的指令,用于在模板中循环渲染数据。

使用嵌套*ngFor可以正确地实现多层级的数据渲染。下面是一个示例代码:

代码语言:txt
复制
<div *ngFor="let category of categories">
  <h2>{{ category.name }}</h2>
  <ul>
    <li *ngFor="let item of category.items">
      {{ item.name }}
    </li>
  </ul>
</div>

在上面的代码中,我们首先使用外层的ngFor循环遍历categories数组,然后在每个category中使用内层的ngFor循环遍历items数组。这样就可以正确地渲染多层级的数据。

*ngFor指令的优势是可以方便地处理循环渲染数据,减少了手动编写重复的HTML代码的工作量。它可以应用于各种场景,例如展示列表、生成表格、创建导航菜单等。

在腾讯云的产品中,推荐使用云开发(CloudBase)来支持Angular 4应用的部署和运行。云开发是一种全栈云原生开发平台,提供了丰富的后端服务和工具,可以帮助开发者快速构建和部署应用。

腾讯云开发产品介绍链接地址:腾讯云开发

通过使用云开发,你可以将Angular 4应用部署到腾讯云上,并且可以轻松地与其他腾讯云服务进行集成,例如云数据库、云存储等。

希望以上内容能够帮助你正确地使用嵌套*ngFor来渲染数据。如果还有其他问题,请随时提问。

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

相关·内容

AngularDart 4.0 高级-结构指令 顶

所以隐藏和展示有时候是正确的。 但是如果没有一个令人信服的理由让他们保持身临其境,你应该首先去除用户看不到的DOM元素,并用像NgIf这样的结构指令来恢复未使用的资源。...模板来解决 Angular 是一个分组元素,不会干扰样式或布局,因为Angular不会将其放入DOM中。 以下是条件段落,这次使用。...[template] 它正确渲染。 注意使用NgIf的脱糖形式。 ? 现在有条件地用排除一个选项。...指令属性名称应使用lowerCamelCase拼写,并以前缀开头。 不要使用ng。 该前缀属于Angular。 选择适合您或您公司的简短内容。 在这个例子中,前缀是my。...在没有合适的宿主元素时使用作为分组元素。 Angular将星号(*)语法解析为。 NgIf,NgFor和NgSwitch内置指令如何工作。

16K20

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

-- each hero goes here --> 下一步你将添加英雄名字 使用ngFor指令罗列英雄 目标是将组件中的英雄列表绑定到模板,迭代它们,并单独显示它们。...> {{hero.name}} 要在模板中使用Angular指令,需要在组件的@Component注解的指令参数中列出。...; height: 1.8em; margin-right: .8em; border-radius: 4px 0 0 4px; } 将样式分配给组件时,它们的作用域为该特定组件。...当用户选择一个英雄时,selectedHero变为非null,ngIf将英雄详细内容放入DOM中,并评估嵌套的绑定。...您了解了如何在组件模板中使用核心指令ngIf和ngFor。 您在CSS文件中定义了样式,并使用它们来设置应用程序的样式。 你的应用应该看起来像这个实例(查看源代码)。

3K30

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

如果嵌套表达式试图访问null属性,Angular会抛出一个错误。 这里我们看到NgIf守护两个。 currentHero名称仅在有currentHero时出现。...NgFor NgFor是一个迭代指令 - 一种呈现项目列表的方式。 您可以定义一个HTML块来定义应该如何显示单个项目。 您告诉Angular将该块用作呈现列表中每个项目的模板。...分配给* ngFor的文本是指导迭代器进程的指令。 *ngFor微语法 分配给* ngFor的字符串不是模板表达式。 这是一种微语法 - Angular解释的一种小语言。...* ngFor与index(索引) NgFor指令上下文的index属性返回每个迭代中项目的从零开始的索引。 您可以捕获模板输入变量中的index,并在模板中使用它。...抛出异常是正确的。 另一方面,属性路径中空值时不时出现可能还好,特别是当数据现在为空,将来将返回数据。

29.9K20

log4j的正确使用姿势

最近清明节,朋友公司的日志爆了,说控制台打得太满了,出了问题,早上4点多被喊去公司修改代码,他们把所有的日志全部在控制台打印了,结果就。。。...(日志在控制台输出) org.apache.log4j.FileAppender(文件中输出) org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件,...推荐~) org.apache.log4j.RollingFileAppender(日志文件输出达到指定大小就会另外产生一个新的文件) org.apache.log4j.WriterAppender(流形式输出到指定路径...另外对于支付流水可以使用日志输出到数据库,而我们不需要手动进行保存。...若在大并发的时候可以选择nosql数据库,比如mongodb,这样的做法也是不错的;而对于某些报表类功能也可以使用日志的做法,这样统计也十分方便。这些日后抽空再说一下吧~

67340

Angular 2 + 折腾记 :(4)初步了解路由及使用

RouterLink:可以让一个元素具有跳转功能,里面有很多使用的参数[指令],我大体解释下常用的哈 queryParams : 可以传递参数的,跳转过去就是这种/security-alert?...navigate :配合可选参数可以实现当前路劲下的相对跳转,带参数跨页面跳转等 angular 4版本的路由加强了很多。。比如可以在路由进入或者脱离的时候做一些事件处理!!!...'path', // path是路由访问的路径 component: NameComponent, //component是映射的组件 children:[ // children是嵌套组件的包含层...// errorHandler :使用自定义的错误处理,来抛出报错信息; imports: [RouterModule.forChild|Root(routes)], // exports是导出组件...RbacService], children: [ // 懒加载在目前的版本都必须用绝对路径指向对应的模块,dashboard.module是文件名,#DashboardModule是里面到处的模块,必须紧跟才能正确识别

3K20

ng-content 中隐藏的内容

如果你尝试在 Angular 中编写可重复使用的组件,则可能会接触到内容投射的概念。然后你发现了 ,并找到了一些关于它的文章,进而实现了所需的功能。...由于许多问题与Angular 中的组件生命周期相关,因此我们的主要组件将显示一个计数器,用于展示它已被实例化的次数: import { Component } from '@angular/core';...难道这是 ngIf 指令产生的问题,让我们测试一下 ngFor 指令,看看是否有同样的问题: import { Component } from '@angular/core'; @Component...show = true; @ContentChild(TemplateRef) template: TemplateRef; } 现在我们的 counter 组件,每当我们隐藏并重新显示时都正确递增...让我们再验证一下 *ngFor 指令: @Component({ selector: 'wrapper', template: ` <div class="box" *ngFor="let

2.7K30

Angular2 之 结构型指令几个概念

在哪里去显示,viewcontain 怎么注入,属性的set语法的使用,是便捷的监听属性值变化的途径。 Angular 有一个强力的模板引擎,它能让你轻松维护元素的DOM树结构。...弊 如果我们很快再次使用这个组件的时候,重建组件的代价是非常大的。 当ngIf重新变成true的时候,angular会重新创建该组件及其子树。angular会重新运行每个组件的初始化逻辑。...总结 基于上面的利弊分析,无论是我们在使用内置的指令还是使用自定的指令的时候,我们应该自己分析提添加、移除元素以及创建和销毁组件的后果。...要么显示的包含在Template标签中,要么隐式的使用*这种语法糖去包装在Template标签中。它简化了ngIf和ngFor —— 无论是写还是读。...ngFor Angular把*ngFor转换成一个类似的形式: <!

3K20

Angular 中结构指令模式 - 它们是什么且怎么使用

你会知道它们是什么并且怎么去使用它们。 学完本文,你将更好理解这些指令并在实际项目中使用它们。 Angular 结构指令是什么? Angular 结构指令是能够更改 DOM 结构的指令。...*ngFor 指令 我们使用 *ngFor 指令来遍历数组。...implements OnInit { workers: any = [ 'worker 1', 'worker 2', 'worker 3', 'worker 4'...Angular 中我们什么时候需要用结构指令呢? 如果你想在 DOM 中添加或者移除一个元素的时候,你就应该使用结构指令。 当然,我们还可以使用它们来更改元素 CSS 样式,或者添加事件监听器。...总结 结构指令是 Angular 中很重要的一部分,我们可以通过多种方式使用它们。 希望通过本文,读者能更好理解怎么去使用这些指令和什么时候去使用这些模式。 本文为译文,采用意译的形式。

3.8K20

【Appetite】ionic3实录(七)次页实现及分析解决问题【下】

我们观察initSwiper方法,第一个参数'.wheel .swiper-container'其实是个选择器,所以它也是依托dom操作的,此外,由于我们使用了数据绑定,this.vm.dessertSlides...angular的脏检测机制是基于一定条件和时间的,在给this.vm.dessertSlides赋值,dom还没更新完成就调用initSwiper方法不一定会获得想要结果的,所以在此之前调用手动检测方法...也就是说,前者只会初始化一次,而后两者每次显示都需要重新初始化,进一步说,若使用后两者方式,对于这里用到的swiper,它不是一个angular封装起来的组件,不会自动初始化,我们每次显示它时都需要显式调用一下...数据未正确应用 对比上一节的实际效果图,会发现这里只显示了两个图片,什么原因呢?...数据正确应用

1.4K20

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

文章目录 前文回顾 基本语法 常见指令 NgModel NgFor NgIf Ng-container 管道 前文回顾 前面已经写了关于angular项目的基本介绍和如何创建一个angular项目,这一篇主要梳理一些...angular的基本语法,这样有利于后面我们进行梳理别的知识点做一些铺垫 基本语法 常见指令 NgModel NgModel就和vue中的v-model的效果是一致的,只是写法会有一些区别,vue中是可以直接进行使用的...-- 使用{{}}进行数据的获取 --> {{inputData}} 运行效果 NgFor NgFor和我们js中的for循环渲染数据是一致的,所以这里是比较容易理解的,简单的演示一下...在需要使用数据绑定的组件进行数据的处理 import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-home...官方的话:为没有 DOM 元素的指令安排宿主 管道 管道其实就是具有一定功能的函数,主要是一些场景是对字符串什么的进行简单的转化,当然我们也可以自己使用自定义的函数进行数据的转换,只是angular给我们提供了一些初始化的功能函数管道详细列表

2.5K30

Angular 快速学习笔记(1) -- 官方示例要点

Angular 的复写器(repeater)指令,使用let xx of xxs遍历 绑定click使用 (click) <li *ngFor="let hero of heroes" (click...异步处理可以使用回调函数,可以返回 Promise(承诺),也可以返回 Observable(可观察对象) b. angular使用了Rxjs,因此使用Observable,Observable 是...使用http,需要在AppModule中, @angular/common/http 中导入 HttpClientModule 符号,并把它加入 @NgModule.imports 数组 c....*ngFor 不能直接使用 Observable。 不过,它后面还有一个管道字符(|),后面紧跟着一个 async,它表示 Angular 的 AsyncPipe。...快速学习笔记(4) -- Observable与RxJS Angular快速学习笔记(3) -- 组件与模板 Angular快速学习笔记(2) -- 架构 Angular 快速学习笔记(1) -- 官方示例要点

3.6K50

Angular 快速学习笔记(1) -- 官方示例要点

Angular 的复写器(repeater)指令,使用let xx of xxs遍历 绑定click使用 (click) <li *ngFor="let hero of heroes" (click...异步处理可以使用回调函数,可以返回 Promise(承诺),也可以返回 Observable(可观察对象) b. angular使用了Rxjs,因此使用Observable,Observable 是...使用http,需要在AppModule中, @angular/common/http 中导入 HttpClientModule 符号,并把它加入 @NgModule.imports 数组 c....*ngFor 不能直接使用 Observable。 不过,它后面还有一个管道字符(|),后面紧跟着一个 async,它表示 Angular 的 AsyncPipe。...快速学习笔记(4) -- Observable与RxJS Angular快速学习笔记(3) -- 组件与模板 Angular快速学习笔记(2) -- 架构 Angular 快速学习笔记(1) -- 官方示例要点

3.6K00
领券