当第一个 ngIf 出现在循环内时,仅在 ngFor 中调用 div 一次
Call div only once in ngFor when first ngIf occurs inside the loop
我这里有这段代码:
<div *ngFor="let condition of interior_conditions; let i = index" class="condition-item-2">
<div class="condition-title">{{condition.name}}</div>
<div class="condition-content">
<div class="row">
<hr class="my-hr">
<div class="col-12">
<span *ngFor="let zone of zones">
<span *ngFor="let poor_condition of zone.poor_conditions">
<span *ngIf="poor_condition._id==condition._id" class="danger_zones">
<span>
Danger Zones:
</span>
{{zone.name}}
</span>
</span>
</span>
</div>
</div>
</div>
</div>
事情是这样的:
- 我的数据库中有很多条件和区域
- 区内条件有差也有好,可能只有条件好,不一定都有
- 我遍历条件
- 后来,我遍历了差的条件
- 所以,如果一个区域的条件很差,我想打印区域名称并且只有 'title' 个危险区域一次
有什么想法吗?
假设您不能或不想将 span 移到循环外,您可以根据索引添加一个 ngIf
:
<span *ngIf="i === 0"></span>
您应该移动标题为“危险区域”的跨度。
<div *ngFor="let condition of interior_conditions; let i = index" class="condition-item-2">
<div class="condition-title">{{condition.name}}</div>
<div class="condition-content">
<div class="row">
<hr class="my-hr">
<div class="col-12">
<span *ngFor="let zone of zones">
<span>
Danger Zones:
</span>
<span *ngFor="let poor_condition of zone.poor_conditions">
<span *ngIf="poor_condition._id==condition._id" class="danger_zones">
{{zone.name}}
</span>
</span>
</span>
</div>
</div>
</div>
</div>
我认为唯一可以做到的方法是通过服务,其中一个功能将输入条件,return 条件较差的区域
我这里有这段代码:
<div *ngFor="let condition of interior_conditions; let i = index" class="condition-item-2">
<div class="condition-title">{{condition.name}}</div>
<div class="condition-content">
<div class="row">
<hr class="my-hr">
<div class="col-12">
<span *ngFor="let zone of zones">
<span *ngFor="let poor_condition of zone.poor_conditions">
<span *ngIf="poor_condition._id==condition._id" class="danger_zones">
<span>
Danger Zones:
</span>
{{zone.name}}
</span>
</span>
</span>
</div>
</div>
</div>
</div>
事情是这样的:
- 我的数据库中有很多条件和区域
- 区内条件有差也有好,可能只有条件好,不一定都有
- 我遍历条件
- 后来,我遍历了差的条件
- 所以,如果一个区域的条件很差,我想打印区域名称并且只有 'title' 个危险区域一次
有什么想法吗?
假设您不能或不想将 span 移到循环外,您可以根据索引添加一个 ngIf
:
<span *ngIf="i === 0"></span>
您应该移动标题为“危险区域”的跨度。
<div *ngFor="let condition of interior_conditions; let i = index" class="condition-item-2">
<div class="condition-title">{{condition.name}}</div>
<div class="condition-content">
<div class="row">
<hr class="my-hr">
<div class="col-12">
<span *ngFor="let zone of zones">
<span>
Danger Zones:
</span>
<span *ngFor="let poor_condition of zone.poor_conditions">
<span *ngIf="poor_condition._id==condition._id" class="danger_zones">
{{zone.name}}
</span>
</span>
</span>
</div>
</div>
</div>
</div>
我认为唯一可以做到的方法是通过服务,其中一个功能将输入条件,return 条件较差的区域