首页 > 解决方案 > 从字符串中获取html代码并以角度显示

问题描述

我将电子邮件正文存储在 javascript/typescript 字符串 (message.body) 中。该字符串的内容是这样的 html 代码:

<div dir="ltr">test mail</div>

我正在使用角度引导程序,并尝试了以下代码:

javascript/打字稿代码:

ShowMessage(message: MailMsg) {

    const modalRef = this.modalService.open(MailModal, { centered: true });
    modalRef.componentInstance.msg = message;
    modalRef.componentInstance.body = $(message.body);

} 

html代码:

<div class="bodyMsg">
    <div type="text/html">{{body}}</div>
</div>

我得到这个输出:[object Object]

如何正确显示该初始 message.body 字符串的内容?

谢谢

标签: javascripthtmlangular

解决方案


将字符串直接注入到组件的 innerHTML 属性中:

<div class="bodyMsg">
    <div [innerHTML]="body | safeHtml"></div>
</div>

但要小心 XSS 注入 :)


推荐阅读