javascript - 从字符串中获取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 字符串的内容?
谢谢
解决方案
将字符串直接注入到组件的 innerHTML 属性中:
<div class="bodyMsg">
<div [innerHTML]="body | safeHtml"></div>
</div>
但要小心 XSS 注入 :)
推荐阅读
- reactjs - 如何在 react-router-dom v4.3.1 中正确分解路由到组件
- laravel - 无法仅发送 json x-www-form-urlencoded 与邮递员 seding Laravel API 端点一起工作
- wordpress - 强制 HTTPS 中断管理页面
- vba - 在 Excel 中查找已过滤的 A 列中的行数
- node.js - Nodejs/Puppeteer - 如何使用 page.evaluate
- java - Spring data JPA 如何创建通用规范构建器
- node.js - 如何使用 TypeScript 在 node.js 中使用多个全局中间件?
- delphi - Error using datetime parameter on firedac stored procedure component
- sql - SSRS Drop Down List Problems
- java - 为什么在使用 sharedPreferences 时应该对字符串进行硬编码?