Замена запятой на разрыв строки в строке в uib-alert doenst work

У меня есть строка с большим количеством " который я заменяю пустой строкой, и это работает. Но я также хочу сделать разрыв строки при появлении запятой.

Уже попробовал с ('\n'), ('\r'), ('<br>'), ('<br/>') но ничего не работает. в моем угловом контроллере у меня есть строка

self.msg = msg.replace(/"/gi, '').replace(/,/gi, '\n'); 
self.testAlerts = [{ type: 'success', msg: self.msg}];

Я хочу показать это сообщение в окне предупреждения в моем HTML

<div uib-alert ng-repeat="alert in testAlerts" type="{{alert.type}}" >{{alert.msg}}</div>

Почему разрывы строк не работают?

2 ответа

Решение

Используйте ng-bind-html вместо интерполяции:

<div uib-alert ng-repeat="alert in testAlerts" type="{{alert.type}}" ng-bind-html="alert.msg"></div>

Вот планкр для демонстрации.

Если здесь есть кто-то из мира Angular, вы можете использовать [innerHTML] вместо [ng-bind-html] из ответа @RamblinRose

Или даже просто добавьте класс css пробел

<div uib-alert ng-repeat="alert in testAlerts" style="white-space: pre-line;" type="{{alert.type}}" >{{alert.msg}}</div>
Другие вопросы по тегам