Как дать переменную ngFor внутри ngIf? - PullRequest
0 голосов
/ 06 мая 2019

У меня такой код:

<span *ngFor="let track_type of model.content_id.track_types">
    <label class="col-3">{{track_type}} Stream ID*:</label>
    <input type="text" name="stream_id_{{track_type}}" class="col-offset-1 col-3" #stream_id="ngModel" placeholder="{{track_type}} Stream ID" required [(ngModel)]="model.stream_id">
    <span *ngIf="stream_id.invalid && (stream_id.dirty || stream_id.touched)" class="col-offset-2 col-5 text-danger">Stream ID is required</span>
    <br>
</span>

Есть две проблемы:

  • Если я редактирую одно текстовое поле, оно влияет на все текстовые поля.
  • Невозможно правильно настроить проверку формы

Как решить эти проблемы?Я попытался посмотреть на ngTemplateOutlet , но на самом деле он работает не так, как ожидалось.

1 Ответ

0 голосов
/ 06 мая 2019

Использовать trackByFunction

  trackByFn(index, item) {
    return index; // or item.id
  }

А в вашем шаблоне:

<span *ngFor="let track_type of model.content_id.track_types; trackBy: trackByFn">
...