angular - Angular - 带有样式的 InnerHtml
问题描述
我有这个...
const htmlVar = "<html>
<div style="display:flex">
<div>
<h1>Hello World</h1>
</div>
</div>
";
在我的html上我有这个..
<div [innerHtml]="htmlVar"></div>
它渲染了一切,但风格:(
我尝试了这个链接的解决方案:style not working for innerhtml in Angular 2 Typescript
但它不起作用。可能是因为太旧了。
有什么线索吗?
解决方案
正如@R.Richards 提到的,使用DomSanitizer:
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
.
.
.
htmlVar: SafeHtml;
constructor(protected _sanitizer: DomSanitizer) {
this.htmlVar = this._sanitizer.bypassSecurityTrustHtml(`
<html>
<head></head>
<body>
<div style="display:flex; color: red;">
<div>
<h1>Hello World</h1>
</div>
</div>
</body>
</html>`);
}
我创建了一个stackblitz来说明
另外,正如@liam 已经提到的,您不应该将<html>
,<header>
或<body>
标记为DIV
的孩子
推荐阅读
- testing - Cypress Command 从不运行,不会失败,而是返回一些元数据
- oop - 什么用作元表?
- r - 读入 N xls 文件,将新列更改为每个指示日期,然后将行绑定到单个数据框
- java - 如何以编程方式验证连接 API?
- python-3.x - 如何更改堆积条形图的颜色并添加另一个 y 轴
- azure - 使用 Visual Studio 代码在本地运行和调试 2 Azure 函数
- node.js - 无法使用 AngularFire 将 Firebase 功能更新到 Angular Universal 应用程序中的节点 12
- python - 熊猫严格增加列组
- javascript - 如何渲染具有不同查询参数的嵌套视图?
- javascript - 为幻灯片添加淡入淡出效果