Другим вариантом является использование ViewEncapsulation .Создайте пример компонента
import { Component, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'app-mycomponent',
template: `<div class="mycomponent"><h1>It's my component!</h1><p *ngIf="!!variable">{{variable}}</p></div>`,
encapsulation: ViewEncapsulation.None
})
export class MycomponentComponent implements OnInit {
variable: 123;
constructor() { }
ngOnInit() {}
}
и затем в родительском компоненте. Нажмите кнопку «Создать», чтобы получить HTML-код
<button
type="button"
(click)="getHTML()">Get HTML</button>
, наконец, в методе записи родительского компонента, чтобы получить HTML из элемента DOM, используя этот код * 1009.*
import { Component, OnInit, ElementRef } from '@angular/core';
...
constructor(
private el: ElementRef
)
getHTML() {
return this.el.nativeElement
.querySelector('.mycomponent')
.outerHTML
.replace(/<!--[\s\S]*?-->/g, '');
}