У меня есть служба HTTP, которая извлекает данные.В моем компоненте я подписываюсь на это.
ngOnInit() {
this.product = this.route.snapshot.data['product'];
this.sectionService.getAll(this.product.id).subscribe( sections => {
this.sections = sections;
});
}
и у меня есть цикл ngFor в компоненте HTML, который будет создавать div для каждого элемента.
<div class="col-md-9">
<div *ngFor="let section of sections" id="editor{{ section.id }}" contenteditable="true">
{{ section.content }}
</div>
<!-- WYSIWYG -->
</div>
Теперь мне нужно запуститькоманда javascript на каждом из этих div для включения редактора.
this.sections.forEach(element => {
const editor = CKEDITOR.inline('editor' + element.id);
});
Если я пытаюсь добавить строку javascript в функцию подписки или функцию ngAfterViewInit (), она просто не работает.
Если я пытаюсь создать статический массив в ngOnInit (), а затем добавить свой код JavaScript в ngAfterViewInit (), это работает.
ngOnInit() {
this.product = this.route.snapshot.data['product'];
this.sections = [ new Section(1, 'Hello', '<h1>test</h1>')];
}
ngAfterViewInit() {
const editor = CKEDITOR.inline('editor1');
}
Как я могу сделать эту работу для подписок?