Тут нужно напрямую работать с DOM.
Создаем SVG из строки:
private svgElementFromString(str: string): SVGElement {
const div = document.createElement('div');
div.innerHTML = str;
const svg = div.querySelector('svg') as SVGElement;
return svg;
}
А потом инжектим в ноду:
const el = this.el.nativeElement;
el.innerHTML = '';
this.renderer.appendChild(el, svg);
Обновление:
Так же есть вариант с [innerHTML]:
<div [innerHTML]="svg">
Но нужно пропустить строку через санитайзер:
constructor(private sanitizer: DomSanitizer)
...
this.svg = this.sanitizer.bypassSecurityTrustHtml(svgString);