Pour pouvoir injecter du code html dans une balise, il faut utiliser l'une des méthodes suivantes :

Dans app.component.html

<div [innerHTML]="html">a</div>

Dans app.component.ts

import { Component , ElementRef,SecurityContext} from '@angular/core';
import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
   html : string;

private htmlTemplate = `
   <div>Loading template</div>
   <script type="text/javascript">
console.log('loaded');
</script>
`;
constructor(private elementRef: ElementRef,private sanitizer :DomSanitizer) { }

ngAfterViewInit() {

//methode 1
  //this.html = this.sanitizer.sanitize(SecurityContext.HTML, this.htmlTemplate);

//methode 2
  let elem: Element = this.elementRef.nativeElement;

  elem.innerHTML = this.htmlTemplate;
}

}

 

Affichages : 3175