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

Angular 2- *ngFor :有没有办法使用替代的结束条件?

在Angular 2中,ngFor指令用于循环遍历一个集合并生成相应的HTML元素。默认情况下,ngFor会一直循环直到遍历完整个集合。然而,有时候我们可能需要在特定条件下提前结束循环。

在Angular 2中,目前没有直接提供替代的结束条件来代替*ngFor。但是,我们可以通过在模板中使用ng-container元素和ngIf指令来实现类似的效果。

下面是一个示例,演示如何使用ng-container和ngIf来模拟*ngFor的结束条件:

代码语言:html
复制
<ng-container *ngFor="let item of items">
  <div>{{ item }}</div>
  <ng-container *ngIf="item === '结束条件'">
    <!-- 在满足结束条件时,停止循环 -->
    <div>循环结束</div>
    <!-- 可以在这里添加其他结束后的逻辑 -->
  </ng-container>
</ng-container>

在上面的示例中,我们使用ng-container元素嵌套了两个ng-container元素。第一个ng-container用于循环遍历items集合,并生成相应的div元素。第二个ng-container使用ngIf指令来判断是否满足结束条件,如果满足,则显示"循环结束"的div元素。

需要注意的是,ng-container元素在渲染时不会生成任何实际的HTML元素,它只是一个用于包裹其他元素的容器。这样我们就可以在不生成多余的HTML元素的情况下实现类似于*ngFor的结束条件。

希望这个解决方案能满足你的需求。如果你有任何其他问题,请随时提问。

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

相关·内容

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

你会知道它们是什么并且怎么去使用它们。 学完本文,你将更好理解这些指令并在实际项目中使用它们。 Angular 结构指令是什么? Angular 结构指令是能够更改 DOM 结构指令。...*ngIf - 根据表达式返回布尔值,有条件地包含一个模版(即条件渲染模版) *ngFor - 遍历数组 *ngSwitch - 渲染每个匹配是图 下面是一个结构化指令例子。...要使用结构指令,我们需要在 HTML 模版中添加一个带有指令元素。然后根据我们在指令中设置条件或者表达式添加、删除或者替换元素。 结构指令例子 我们添加些简单 HTML 代码。...*ngFor 指令 我们使用 *ngFor 指令来遍历数组。...总结 结构指令是 Angular 中很重要一部分,我们可以通过多种方式使用它们。 希望通过本文,读者能更好理解怎么去使用这些指令和什么时候去使用这些模式。 本文为译文,采用意译形式。

3.8K20

Angular2 之 结构型指令几个概念

弊 如果我们很快再次使用这个组件时候,重建组件代价是非常大。 当ngIf重新变成true时候,angular会重新创建该组件及其子树。angular会重新运行每个组件初始化逻辑。...总结 基于上面的利弊分析,无论是我们在使用内置指令还是使用自定指令时候,我们应该自己分析提添加、移除元素以及创建和销毁组件后果。...标签 结构型指令,比如ngIf,使用HTML 5template标签 完成它们“魔法”。 控制Template标签内DOM添加与显示,在模板级别使用。...要么显示包含在Template标签中,要么隐式使用*这种语法糖去包装在Template标签中。它简化了ngIf和ngFor —— 无论是写还是读。...ngFor Angular把*ngFor转换成一个类似的形式: <!

3K20

Angular 显示英雄列表

="let hero of heroes"> *ngFor 是一个 Angular 复写器(repeater)指令。...Angular 会把所点击  上 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义那个。...英雄们显示在列表中,并且所点英雄详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白细节 该组件应该只有当 selectedHero 存在时才显示所选英雄详情。...Angular  CSS 类绑定机制让根据条件添加或移除一个 CSS 类变得很容易。...用户可以选择一个英雄,并查看该英雄详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 样式类。

4.4K70

最受欢迎10大Angular技巧

我决定写一篇社区最喜爱 10 个技巧总结,并详细解释它们概念。 让全局对象令牌化 最受欢迎推文是关于全局对象 DI 令牌。 在前端,我们习惯使用很多在任何作用域内都可用全局对象。...s=20 如果你想了解更多有关令牌信息,并加深对 Angular 依赖注入机制了解,请查看我在 angular.institute 上关于 DI 免费章节: https://angular.institute...s=20 RxJS 是一个未开发世界 使用 RxJS 时,我尝试检查 RxJS 运算符所有参数和重载,原因是有许多隐藏选项可以使你更快地编写更强大流。...s=20 你甚至可以制作自己 ngFor 替代品 最后一个:Angular 对于 for...of... 之类指令有特殊语法。这样,你可以创建自己 ngFor。...例如,它可以是用于迭代映射 ngFor。或一个简单从一个数字迭代到另一个数字 for: ? ?

2.1K40

Angular 显示英雄列表

="let hero of heroes"> *ngFor 是一个 Angular 复写器(repeater)指令。...Angular 会把所点击  上 hero 对象传给它,这个 hero 也就是前面在 *ngFor 表达式中定义那个。...英雄们显示在列表中,并且所点英雄详情也显示在了页面的下方。 修复 - 使用 *ngIf 来隐藏空白细节 该组件应该只有当 selectedHero 存在时才显示所选英雄详情。...Angular  CSS 类绑定机制让根据条件添加或移除一个 CSS 类变得很容易。...用户可以选择一个英雄,并查看该英雄详情。 你使用 *ngFor 显示了一个列表。 你使用 *ngIf 来根据条件包含或排除了一段 HTML。 你可以用 class 绑定来切换 CSS 样式类。

4K30

Angular 6.x 基础教程

第三节 - 事件和模板引用 在 Angular 中,我们可以使用 (eventName) 语法,进行事件绑定。此外,可以使用 #variableName 语法,定义模板引用。...ngFor 指令 在 Angular 中我们可以使用 ngFor 指令来显示数组中每一项信息。...使用 ngFor 指令 更新 MailService 服务 import { Injectable } from '@angular/core'; @Injectable() export class...第七节 - 使用 Input 装饰器 为了让我们能够开发更灵活组件,Angular 为我们提供了 Input 装饰器,用于定义组件输入属性。...用过 AngularJS 1.x 同学,对 ng-class 应该很熟悉,通过它我们能够根据条件,为元素动态添加或移除对应样式。在 Angular 中,对应指令是 ngClass 。

15.6K20

Angualr2 之 angular模块Angular 模块化提供服务特性模块 - 业务上最佳实践(n)共享模块XxxModule.forRoot配置核心服务知识点

@NgModule接收一个元数据对象,该对象告诉 Angular 如何编译和运行模块代码。 它标记出该模块拥有的组件、指令和管道, 并把它们一部分公开出去,以便外部组件使用它们。...它可以向应用依赖注入器中添加服务提供商。 Angular 模块化 模块是组织应用程序和使用使用外部程序库最佳途径。 很多Angular库都是模块,e.g.... Angular模块是由一个@NgModule装饰器提供元数据类,元数据包括: 1-导入其他模块 2-声明哪些组件、指令、管道属于该模块 3-公开某些类,以便其他组件模块可以使用它们...@NgModule({ // 1-这里只导入了CommonModule和IonicModule // CommonModule中有 *ngIf和*ngFor // IonicModule 中有...ionic样式 imports: [ CommonModule, IonicModule, ], // 2- 这里声明了这3个组件属于该模块 declarations:

2.2K30

AngularDart4.0 指南- 表单 顶

您可以创造性地设计控件,将它们绑定到数据,指定验证规则和显示验证错误,有条件地启用或禁用特定控件,触发内置视觉反馈等等。 Angular通过许多重复,模板化任务使处理过程变得简单。...Angular可不使用Bootstrap类或任何外部库样式。 Angular应用程序可以使用任何CSS库或不使用。...您将在表单中添加一个select,并使用ngFor(先前在“显示数据”页面中看到一种技术)将选项绑定到powers列表。...使用name和类绑定来有条件地分配适当表单有效性类。 临时将另一个名为spy模板引用变量添加到Name 标记,并使用它显示输入CSS类。...删除#spy模板引用变量和使用诊断。 作为类绑定替代方法,可以使用NgClass指令来设置控件样式。

17.4K30

Angular动态创建元素一些坑

在html文件中 用ngFor 动态生成子html 元素自定义属性,比如data-title ,发现angular报错,不让用 。解决办法:采用 attr.自定义属性名 即可 ?...实现拖拽功能 需要复制html元素 append到其他元素时 希望将原始html标签上 (click) 事件属性也一起复制,发现angular会自动将(click) 删除 ,无奈需要在ts里动态添加click...事件 解决办法 :对象.addEventListener('click',方法) ?...或者直接对对象onclick属性 绑定方法 ,此种做法可以使用父级this上方法 ?...angular在页面渲染时会为html元素自动增加属性 _ngcontent-c[数字] ,angular某些class样式和这类属性密切耦合影响页面样式 ;而在ts代码中动态复制html标签时该属性还没有生成

2.4K20

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

必备条件 在继续本“英雄之旅”页面之前,请确认您在“英雄编辑器”页面之后具有以下结构。 如果您结构不匹配,请返回该页面以弄清楚您错过了什么。 ? 如果该应用尚未运行,请启动该应用。...-- each hero goes here --> 下一步你将添加英雄名字 使用ngFor指令罗列英雄 目标是将组件中英雄列表绑定到模板,迭代它们,并单独显示它们。...> {{hero.name}} 要在模板中使用Angular指令,需要在组件@Component注解指令参数中列出。...当表达式为false时,Angular删除选定类。 ===运算符测试给定对象是否相同。 在模板语法指南中阅读有关[class]绑定更多信息。  ...您将Hero类移到lib / src下自己文件中。 你增加了选择英雄和显示英雄细节能力。 您了解了如何在组件模板中使用核心指令ngIf和ngFor

3K30
领券