#angular
Вопрос:
У меня есть фрагмент кода, который раньше работал в Angular 9, а теперь с Angular 12 он больше не работает. Я думаю, мне нужно как-то использовать ngTemplateOutletContext.
родительский компонент:
<ng-template #navTemplate>
<a *ngFor="let link of links">{{link}}</a>
</ng-template>
<child-component>
[navTemplate]="navTemplate"
</child-component>
дочерний компонент (ts):
@Input() navTemplate: TemplateRef<any>;
дочерний компонент (html)
<ng-container *ngTemplateOutlet="navTemplate"></ng-container>
Если вместо передачи в качестве шаблона список элементов, зависящих от переменной. Так, например, если я передам простой div, это сработает. Поэтому я предполагаю, что проблема в том, что переменную links
нужно каким-то образом передать дочернему компоненту.
Комментарии:
1. Не могли бы вы воспроизвести эту проблему в stackblitz?
2. Что вы имеете в виду под «не работает»
3. @Antoniossss в основном отрисовывается шаблон, но в ngFor ничего нет
4.
links
пусто, то игуесс5. В стекблитце это работает.. stackblitz.com/edit/angular-ivy-beckn5?file=src/app/… Тогда проблема, должно быть, связана с книгой рассказов.