Как сделать ngSwitchCase в ngFor?

Из примера в моем коде.

tabs: object = [
  { key: 'tab1', value: 'tab1' },
  { key: 'tab2', value: 'tab2' },
  { key: 'tab3', value: 'tab3' },
];
<div [ngSwitch]="my_tab">
  <div *ngFor="let tab of tabs" *ngSwitchCase="'{{ tab.key }}'">
    {{ tab.value }}
  </div>
</div>

Я всегда получаю ошибку с этим кодом. Как это сделать?

1 ответ

Решение

Вы не можете поместить две структурные директивы в один тег HTML. Если вы хотите, чтобы ваше условие переключения применялось к каждому из ngFor цикл, вы должны написать свой HTML-код следующим образом:

<div [ngSwitch]="my_tab">
  <ng-container *ngFor="let tab of tabs">
    <div *ngSwitchCase="tab.key">
      {{ tab.value }}
    </div>
  </ng-container>
</div>

Так же ng-container позволяет добавить структурное условие, не вмешиваясь в стиль CSS страницы.

Другие вопросы по тегам