Angular innerHTML无法识别HTML标签

时间:2018-08-24 20:58:07

标签: angular innerhtml

我正在学习Angular。在我的第一个应用程序中,我安装了this text editor,与简单的textarea相比,它为用户提供了更多格式化文本的功能。

它很好。例如,如果我写

  

我是路易斯吗?

     

我今年37岁。

     

这是你给我的the link

我获得了此代码,该代码将插入数据库中,并在必要时显示在视图上:

<p>How are you?<br><br>&nbsp;I am fine, thanks.    <br><br>&gt; This is &nbsp;<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标签被解释为普通文本,因此我无法根据需要显示它们。

非常感谢。

2 个答案:

答案 0 :(得分:1)

替换:

<div [innerHtml]="product.descripcion | safeHtml"></div>

作者:

 <div [innerHTML]="product.descripcion | safeHtml"></div>

答案 1 :(得分:0)

好吧,看来这只是一个健忘和缺乏良好睡眠的问题。

我只是将div插入到我的视图中不再存在的部分中。我现在在正确的位置上工作,它就像一个魅力。让我感到羞耻,并感谢您对大家的帮助。