2016-12-05 13 views
0

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

Уже пробовал (а) с ('\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> 

Почему линия ломается не работает?

ответ

1

Использование нг-связывания-HTML вместо интерполяции:

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

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

+0

это дает мне сообщение об ошибке: «Ошибка: [$ SCE: небезопасный].. Попытка использовать небезопасный значение в безопасном контексте – nolags

+1

Использование $ sce.trustAsHtml в коде контроллера я обновил [plunkr] (HTTPS: //plnkr.co/edit/7Y1V0bp8Uru7raQ5cBhf?p=preview) – RamblinRose

+0

действительно здорово! Спасибо. – nolags

0

Если кто-нибудь из углового мира случаются здесь вы можете использовать [innerHTML] вместо [нг-Bind-HTML] от @ RamblinRose отвечает

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

<div uib-alert ng-repeat="alert in testAlerts" style="white-space: pre-line;" type="{{alert.type}}" >{{alert.msg}}</div> 

 Смежные вопросы

  • Нет связанных вопросов^_^