2
カスタムhtmlとスクリプト文字列を返すapiエンドポイントがあります。私はangular2にそれを安全なhtmlとコンポーネントテンプレートにレンダリングする必要があります。これまでの私のコード:私は私のテンプレートでangle2コンポーネントにカスタムスクリプトを挿入します。
import { Component } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Component({
selector: 'my-app',
templateUrl: './app.template.html',
})
export class AppComponent {
public htmlToRender: any;
constructor(
private _sanitizer: DomSanitizer,
) {}
public ngOnInit(): void {
const html = `
<p>Hello</p>
<p id="a"></p>
<script>
document.getElementById("a").innerHTML = "World"
console.log(111);
</script>
`;
this.htmlToRender = this._sanitizer.bypassSecurityTrustHtml(html);
}
}
:
'<div [innerHTML]="htmlToRender"></div>'
しかし、これは動作しません。 HTMLタグとスクリプトタグはテンプレートにレンダリングされますが、スクリプトは実行されません。