Я хочу показать @ctrl/ngx-emoji-mart
, эмодзи в компоненте чата. Но я должен установить данные, используя innerHtml
, как показано ниже.
<div [innerHtml]="message"></div>
message = "<ngx-emoji [emoji]="{ id: 'santa', skin: 3 }" size="16"></ngx-emoji>"
Итак, как упоминалось здесь, Angular 2: очистка HTML лишает некоторого содержимого стиль css 1007 *. Я использовал следующие 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 все еще разбирает. Так как я могу предотвратить это и показывать теги emoji в сообщениях чата?