【发布时间】:2017-08-21 02:31:09
【问题描述】:
我有一个后端数据库,其中包含 html 格式的帮助手册主题,包括具有点击功能的锚点。我的 Angular (4.3.5) 应用程序有一个主题树,当单击一个树主题时,主题的主体 html 从后端获取并显示在容器 div 中的主题树旁边。
我的问题是关于如何在容器 div 中显示 html 页面。 最初我尝试过:
<div [innerHtml]="htmlbody | safeHtmlPipe"></div>
此解决方案无法完全发挥作用,因为 htmlbody 包含指向其他页面的锚点:
<a (click)="loadNewPage(topicId)">display topic</a>
Angular 正在清理(过滤掉)点击处理程序上的锚点。
我关注了很多关于这个主题的谷歌链接,比如Dynamically displaying elements containing HTML with (click) functions Angular 2。 我还查看了Dynamic Injection in Angular 4 中的包装器组件。但未能找到任何具体提供从动态源(例如后端)加载 html 的工作代码的实际示例。 我想使用新的 ngComponentOutlet 指令并让它与 AoT 兼容。
有谁知道如何做到这一点?
【问题讨论】: