在 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>