Если я правильно понимаю, у вас есть Html
s в вашем объекте, и вы хотите связать и отобразить его.
В этом случае вам нужно определить свои типы как string
, как показано ниже
export interface Termosrat {
id: number;
name: string;
nominal: string;
price: number;
description: string;
picPath: string;
picAlt: string;
}
export var ELEMENT_DATA_TERMOSTATS: Termosrat[] = [
{
id: 75,
name: 'Терморегулятор WÄRMEHAUS TouchScreen',
nominal: 'Сенсорный',
price: 247.00,
description: '<div><ul><li>Item 1</li><li>Item 2</li></ul></div>', // And what is here?
picPath: "../../assets/images/WH_TS_front_s700.jpg", picAlt: "ТЕРМОРЕГУЛЯТОР WÄRMEHAUS TOUCHSCREEN"
},
затем привяжите его к innerHtml, как показано ниже:
<div class="element-description" [innerHtml]="element.description">
</div>
НО этого недостаточно, вам нужно добавить safeHtmlPipe
в ваше приложение и после этогоизмените его на
<div class="element-description" [innerHtml]="element.description | safeHtml">
</div>
Реализация SafeHtml
safe-html.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({
name: 'safeHtml',
})
export class SafeHtmlPipe implements PipeTransform {
constructor(private sanitized: DomSanitizer) { }
transform(value: any): SafeHtml {
return this.sanitized.bypassSecurityTrustHtml(value);
}
}
и добавьте его к declarations
и providers
вашегоapp.module.ts