angular - Angular:如何避免剥离innerHtml?
问题描述
我想@ctrl/ngx-emoji-mart
在聊天组件中显示表情符号。但我必须使用innerHtml
如下设置数据。
<div [innerHtml]="message"></div>
message = "<ngx-emoji [emoji]="{ id: 'santa', skin: 3 }" size="16"></ngx-emoji>"
所以正如这里提到的,Angular 2: sanitizing HTML 剥离了一些 css 样式的内容。我用了以下pipe
,
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({ name: 'noSanitize' })
export class NoSanitizePipe implements PipeTransform {
constructor(private domSanitizer: DomSanitizer) {
}
transform(html: string): SafeHtml {
return this.domSanitizer.bypassSecurityTrustHtml(html);
}
}
现在 angular 不会像 那样剥离消息<h2>Hello</h2>
,但如果消息包含 ngx-emoji 标签,则 angular 仍然会剥离。那么如何防止这种情况并在聊天消息中显示表情符号标签呢?
解决方案
推荐阅读
- arrays - 从二维列表中提取元素
- c# - 尝试根据 Jenkins 参数化构建选择更新 App.config 值
- php - 如何从 Rest API 访问 json
- python - Python Pytz 美国/太平洋时区问题
- windows - Windows 中的系统文件缓存使用 RAM 的哪一部分?
- scala - 使用 PowerMock 在 Scala 中模拟对象
- excel - 在两列中搜索重复的文本字符串并突出显示,excel
- aem - 用于组件的 Adobe AEM (Adobe Experience Manager) HTL2HTML
- c++ - C++ 非特化模板类型对象列表?
- json - Ruby Time#to_json 作为浮点数