在 uib-alert 的字符串中用换行符替换逗号不起作用
replacing comma with linebreak in a string in an uib-alert doenst work
我有一个包含很多 "
的字符串,我将其替换为一个空字符串,这样就可以了。
但是我也想在出现逗号的时候换行
已经用 ('\n')
、('\r')
、('<br>')
、('<br/>')
尝试过,但没有任何效果。
在我的 angular 控制器中,我有字符串
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>
为什么换行不起作用?
使用 ng-bind-html 而不是插值:
<div uib-alert ng-repeat="alert in testAlerts" type="{{alert.type}}" ng-bind-html="alert.msg"></div>
这里有一个plunkr用于演示。
如果来自 Angular 世界的人恰好在这里,你可以使用
[innerHTML] 而不是来自@RamblinRose 的回答
中的 [ng-bind-html]
甚至,只需添加 css white-space class
<div uib-alert ng-repeat="alert in testAlerts" style="white-space: pre-line;" type="{{alert.type}}" >{{alert.msg}}</div>
我有一个包含很多 "
的字符串,我将其替换为一个空字符串,这样就可以了。
但是我也想在出现逗号的时候换行
已经用 ('\n')
、('\r')
、('<br>')
、('<br/>')
尝试过,但没有任何效果。
在我的 angular 控制器中,我有字符串
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>
为什么换行不起作用?
使用 ng-bind-html 而不是插值:
<div uib-alert ng-repeat="alert in testAlerts" type="{{alert.type}}" ng-bind-html="alert.msg"></div>
这里有一个plunkr用于演示。
如果来自 Angular 世界的人恰好在这里,你可以使用 [innerHTML] 而不是来自@RamblinRose 的回答
中的 [ng-bind-html]甚至,只需添加 css white-space class
<div uib-alert ng-repeat="alert in testAlerts" style="white-space: pre-line;" type="{{alert.type}}" >{{alert.msg}}</div>