我有一系列项目,每个项目都有一个有时共享的类别。我想做的是按类别对模板中的项目进行分组。目前我通过简单地循环每个类别的数组来实现这一点,但这效率低下。我只想循环一次数组,然后分别输出到不同的部分。我似乎无法找到一个明确的方法来做到这一点。这是我希望做的粗略概述:
<ng-container *ngFor="let item of items">
<!--
The checkbox below needs to be output to one of the proceeding
4 sections based on its category, I assume using a switch.
-->
<mat-checkbox
class="item-toggle"
[checked]="item.enabled"
(change)="toggleItem(item)"
>{{ item.name }}</mat-checkbox
>
</ng-container>
<h3>Category 1</h3>
<section class="item-choices" #category1></section>
<h3>Category 2</h3>
<section class="item-choices" #category2></section>
<h3>Category 3</h3>
<section class="item-choices" #category3></section>
<h3>Category 4</h3>
<section class="item-choices" #category4></section>
有没有办法使用可用的默认指令来做到这一点?
编辑:更新了示例。我想强调我不想重复类别部分。我想将输出定向到 4 个不同的位置。我现在可以通过运行 4 个循环来实现这一点,每个类别一次。或者,在我的 ts 中,我可以将数组过滤为每个类别的子数组。
我希望有一种方法可以单独使用模板或指令来做到这一点。