angular - 在 Angular/Typescript 中的 *ngFor 中添加一个 if else 子句

标签 angular typescript

我目前正在使用 Typescript 在 Angular 7 中开发一个项目,我正在尝试优化以下(简化的)代码片段:

<div *ngIf="!showAll">

  <div *ngFor="let filter of filters | slice:0:5;">
    <mat-checkbox [checked]="filter.selected">{{ filter.value }}</mat-checkbox>
  </div>

</div>

<div *ngIf="showAll">

  <div *ngFor="let filter of filters">
    <mat-checkbox [checked]="filter.selected">{{ filter.value }}</mat-checkbox>
  </div>

</div>

如果 bool 值 showAll 为真,我想显示我的 filters 数组的所有值,如果不是,我想对该数组进行切片以仅获取前 5 个条目。这可以用一行代码实现吗?

最佳答案

您可以在多个条件下使用 ngIf 来实现这一点。

  <div *ngFor="let filter of filters ; let i = index">
    <mat-checkbox *ngIf="showAll || i < 5" [checked]="filter.selected">{{ filter.value }}</mat-checkbox>
  </div> 

关于angular - 在 Angular/Typescript 中的 *ngFor 中添加一个 if else 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54552454/

相关文章:

Angular2 Jasmine 测试图像源

javascript - 调用 Web API - 无法读取未定义的属性 'filter'

javascript - Angular 2 中的表格

typescript - 如何使用 TypeScript 防止成员在构造函数中未定义?

reactjs - CRA typescript环境导出类型时如何解决解析错误

javascript - 在我的应用程序中添加 appRoutes 后未捕获的 TypeError : Cannot read property 'id' of undefined at registerNgModuleType (core. js)

html - Angular Tooltip 无法识别 '\r' 或 '\n' 字符

Angular:在静态内容文件上设置 maxAge

javascript - 如何在 Angular 2+ 中获取 json 数据

node.js - 自动编译 TypeScript 源并复制静态(模板)文件