Передача индекса из ng-контейнера в ng-template - PullRequest
2 голосов
/ 08 апреля 2020

Я хочу передать индекс от * ngFor до ng-container до ng-template. Но, похоже, не работает

                  <p-accordionTab *ngFor="let title of titleItems; let i = index;" class="mb-2" [selected]="true">
                            <p-header>
                                {{title}}
                                <span *ngIf="title.help" tooltip="{{title.help}}">
                                    <i class="fa fa-question-circle"></i>
                                </span>
                            </p-header>
                            <ng-container *ngTemplateOutlet="titleTemplate; context: {$implicit: { index: i}}"></ng-container>
                        </p-accordionTab>
                    </p-accordion>

                 <ng-template #titleTemplate let-index>
                    <form [formGroup]="domandeFormGroup" class="col-xs-12 col-sm-12 col-md-12 col-lg-12 text-left">
                        <div> 
                            <input formControlName="order-{{index}}"
                                    class="title-input-border form-control" type="text">
                          </div> 
                    </form>
                 </ng-template>

Что не так ?? Кажется, что не передавая индекс

Не удается найти элемент управления с именем: 'order -'

1 Ответ

3 голосов
/ 08 апреля 2020

Внести 2 изменения:

  • context: {index: i}
  • let-index="index"

Попробуйте так:

<ng-container *ngTemplateOutlet="titleTemplate; context: {index: i}"></ng-container>


<ng-template #titleTemplate let-index="index">
</ng-template>

Рабочая демоверсия

...