Я перебираю массив с помощью ngFor. Массив содержит такие строки: «Some Text 1 <br>
some text 2». Вот HTML-код:
<div class="content" *ngFor="let item of graphService.contents">{{item}}</div>
Он печатает правильный текст, но не прерывает строку. Он печатает br как обычное слово, но я хочу, чтобы оно сломало черту. Как я могу достичь этого, не разбивая строку на две части, например "Array.firstString + <br>
+ Array.secondString?
2 ответа
Для предотвращения выхода из HTML вы можете сделать:
<div class="content"
*ngFor="let item of graphService.contents"
[innerHTML]="item"></div>
Вы можете использовать это
<div class="content" *ngFor="let item of graphService.contents">
<div [innerHTML]="item"></div>
</div>
Если вы хотите отобразить простой текст из форматированного текста, вы можете добавить эту функцию.
this.utilService.htmlToPlaintext(content);
Определите функцию htmlToPlaintext()
, подобную этой, в вашем сервисе.
htmlToPlaintext(text) {
var plain = text ? String(text).replace(/\\t/g, '') : '';
return text ? String(plain).replace(/\\n/g, '') : '';
}
Похожие вопросы
Новые вопросы
angular
Вопросы об Angular (не путать с AngularJS), веб-фреймворке от Google. Используйте этот тег для вопросов Angular, которые не относятся к отдельной версии. Для более старой веб-инфраструктуры AngularJS (1.x) используйте тег AngularJS.