Angular 7 - innerHTML - 从DB呈现HTML标记

问题描述 投票:1回答:1

我正在创建一个文档工具,您可以在其中编写文档(在contenteditable元素中),您可以在其中插入不同类型的框等等,并使用格式化的样式(类名)。

它在上传时保存到mongoDB,但是当我通过innerHTML从DB渲染文档时,样式只在元素上呈现,以防我在TAG上有css定义,而不是在CLASS上。

例如Works:

code {
 color: red;
}

不起作用:

.jcl-code {
 color: red;
}

我有viewEncapsulation.None已经解决,并且还制作了一个safeHtml管道来跳过清理。

<p class="card-body" innerHTML="doc[currentId].body | safeHtml">

你能不能给我一些提示,为什么它不能用于课程?

非常感谢!

css angular angular7 encapsulation sanitization
1个回答
0
投票

你需要将:host ::ng-deep添加到你的类中,所以:host ::ng-deep .jcl-code {...}作为必要的类不会自动添加到通过[innerHTML]添加的HTML中。

有关::ng-deep及其使用情况检查https://stackoverflow.com/a/36265072/606104的更多详细信息和信息

© www.soinside.com 2019 - 2024. All rights reserved.