我正在学习Angular。在我的第一个应用程序中,我安装了this text editor,与简单的textarea相比,它为用户提供了更多格式化文本的功能。
它很好。例如,如果我写
我是路易斯吗?
我今年37岁。
这是你给我的the link
我获得了此代码,该代码将插入数据库中,并在必要时显示在视图上:
<p>How are you?<br><br> I am fine, thanks. <br><br>> This is <a href="https://github.com/froala/angular-froala-wysiwyg">the link</a> you gave me</p>
但是,当我尝试在视图上显示它时,我无法将标签管理为标签,然后格式化文本。
我尝试过:
如建议的here
但是它不起作用,我获得了相同的字符串,包括HTML标记,但是没有格式。
必须说,user.description是存储该文本的属性。
我读了一些有关不安全HTML的内容,因此遵循另外的建议here,我也尝试添加管道。
@Pipe({name: 'safeHtml'})
export class Safe {
constructor(private sanitizer:DomSanitizer){}
transform(style) {
return this.sanitizer.bypassSecurityTrustHtml(style);
//return this.sanitizer.bypassSecurityTrustStyle(style);
// return this.sanitizer.bypassSecurityTrustXxx(style); - see docs
}
}
然后:
<div [innerHtml]="product.descripcion | safeHtml"></div>
但是仍然行不通。 HTML标签被解释为普通文本,因此我无法根据需要显示它们。
非常感谢。
答案 0 :(得分:1)
替换:
<div [innerHtml]="product.descripcion | safeHtml"></div>
作者:
<div [innerHTML]="product.descripcion | safeHtml"></div>
答案 1 :(得分:0)
好吧,看来这只是一个健忘和缺乏良好睡眠的问题。
我只是将div插入到我的视图中不再存在的部分中。我现在在正确的位置上工作,它就像一个魅力。让我感到羞耻,并感谢您对大家的帮助。