我有一个存储一些HTML内容的CMS。在我的Angular Web应用程序中,我将获取这些内容并将其注入我的模板中。
让我们说" myContent"从模型得到的内容是:
<div>Test</div>
<script type="text/javascript">alert("test")</script>
在使用此内容的组件中,我已完成:
export class PlaceholderComponent implements OnInit {
@Input() placeholderKey : string;
private placeHolderContent : SafeHtml;
constructor(private modelProvider: ModelProviderService, private sanitizer: DomSanitizer){}
ngOnInit() {
if(this.model.placeholders) {
this.placeHolderContent = this.sanitizer.bypassSecurityTrustHtml(this.model.placeholders[this.placeholderKey]);
}
}
}
在此组件的模板中
<div [innerHtml]="placeHolderContent"></div>
因此,html被正确地注入模板中,包括脚本标记,但是警报永远不会被执行(请注意,console.log(&#34; test&#34;)也不起作用。)< / p>
您是否有一个解决方案,可以在组件完成加载时运行JavaScript注入HTML?
(注意:如果我在我的Angular组件中使用jquery在模板中插入HTML,它就可以工作!)