Я знаю, что об этом уже спрашивали, но я не понимаю этих ответов, если честно. Я хочу сделать что-то простое:
В основном у меня есть это:
<div class = "carousel">
<ul class = "carousel__track">
<li ngFor = "let slideHtml of SlidesHTML?" class = "carousel__slide">
**THIS IS ACTUALLY WHERE I WANT TO PASS ANOTHER HTML COMPONENT**
i.e: <app-slideHtml>
</li>
</ul>
</div>
Я хочу добиться этого в основном, но я не знаю, могу ли я пойти с @Input() html
или мне нужно использовать ng-content
для этого. Что мне нужно поместить в файл .ts
?
Редактировать: я использую директиву ngFor
в элементе li, поэтому я могу отображать фактически все слайды. Я не знаю, возможно ли это вообще, я просто хотел посмотреть, смогу ли я на самом деле этого добиться.
Да, я буду отображать разные компоненты для каждого ли, я отредактирую вопрос.
Да, ты можешь
<li *ngFor = "let slide of slides" class = "carousel__slide">
<!-- Rename inputName by the actual input name you want-->
<app-slideHtml [inputName] = "slide.someData"></app-slideHtml>
</li>
Где inputName
— это имя @Input
в приложение-слайдHtml, а someData
атрибут слайда.
В app-slideHtml.component.ts
@Input() inputName: any; // Rename 'inputName' by the actual input name you want
Вы можете передать весь объект вместо некоторых атрибутов, передав slide
на вход.
Да, что-то подобное я искал. Спасибо.
Непонятно, чего вы хотите добиться. Вы хотите отображать <app-order-product> для каждого <li>?