Замена запятой на разрыв строки в строке в 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>