Я хочу динамически визуализировать пользовательские компоненты внутри контейнера ion-slide
. И я хотел бы иметь возможность указать компоненты, которые должны использоваться за пределами шаблона, например, в списке в моем компоненте, чтобы сохранить его настраиваемым.
Некоторые компоненты:
@Component({
selector: 'myComponent',
templateUrl: 'myComponent.html'
})
export class MyComponent {
constructor() {
}
}
Моя домашняя страница:
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class
pages = [
{
name: "some page",
template: "<myComponent></myComponent>"
},
{
name: "some other page",
template: "<myComponent></myComponent>"
}
]
@ViewChild(Slides) slides: Slides;
constructor(private navCtrl: NavController) {
}
}
и мой шаблон для моей домашней страницы:
<ion-content padding>
<ion-slides
#slides
[autoplay]="10*1000"
loop="true"
>
<ion-slide *ngFor="let page of pages">
{{ page.name }}
<div [innerHTML]="page.template"></div>
</ion-slide>
</ion-slides>
</ion-content>
Проблема в том, что использование innerHtml
в шаблоне, похоже, не работает. Шаблон, который я пытаюсь внедрить в div
, кажется проглоченным, а компонент не отображается.
Так как же я могу добавить компонент в свой шаблон, не добавляя его явно в шаблон, а добавляя его в список внутри моей HomePage или даже в файле конфигурации?