Angular 7+:在运行时从REST API获取的动态用户内容(HTML)中的渲染指令

时间:2019-07-16 10:14:22

标签: angular runtime jit aot angular-compiler

我有一个应用程序,它可以获取用户内容(例如博客内容),并以HTML格式保存在服务器上。

我需要渲染它,并且它可能具有自定义指令,例如

REST API RESPONSE SAMPLE:
content: "<div>
<span class="impressive-css-class">This is rendered perfectly by passing HTML to sanitizer.bypassSecurityTrustHtml</span>
and 
<span spoiler>SpiderMan dies on Page 142: Rendered as HTML. Directive not processed (naturally)</span>
</div>"

我需要在此动态返回的用户内容上呈现spoiler指令。

我从SO和广泛的搜索中了解到,做到这一点的一种方法是在构建过程中启用JIT(无AOT)(buildOptimizer:false,然后在polyfill中导入“ core-js / es7 / reflect”)。 ts,以很长的复杂方式(使用JIT动态创建模块/组件)(可能会在升级角度版本时中断)

还有其他方法可以动态呈现我不知道的用例吗?

2 个答案:

答案 0 :(得分:0)

可能的实现方式

  • 启用JIT编译器并创建动态模块
  • 角度元素
  • 使用本机JS或其他库修改呈现的HTML

答案 1 :(得分:-1)

您可以使用:

<div [innerHTML]="content"></div>

哪个将在该元素内呈现内容变量

但是,那不是REST api的目的。