捕获和格式化从服务器传递的文本中的“\n\n”以显示换行符的最佳方法是什么? fiddle 在这里:http://jsfiddle.net/nicktest2222/2vYBn/
$scope.data = [{
terms: 'You agree to be bound be the terms of this site. \n\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus tempus lectus ac nunc malesuada, fringilla feugiat nibh rhoncus. Vestibulum adipiscing mi in est consectetur, vitae facilisis nulla tristique. Nam eu ante egestas, ultricies tellus eu, suscipit neque.\n\n Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum et ligula non tellus semper iaculis eget vestibulum metus. Nunc aliquam eros sit amet sapien posuere, ac hendrerit risus ultricies. Vivamus nec enim sed eros placerat pulvinar a quis dui.',
agreed: false
}];
最佳答案
您还可以使用自定义过滤器来替换 \n
至 <br>
.
<p ng-bind-html-unsafe="data[0].terms | nl2br"></p>
还有过滤器。
angular.module('myApp', [])
.filter('nl2br', function(){
return function(text) {
return text ? text.replace(/\n/g, '<br>') : '';
};
});
** 编辑/更新 - 2014-12-10 **
由于新版本的 Angular 被删除了 ng-bind-html-unsafe
@Tamlyn 答案现在是最佳答案。我只是改变了方式$sce
为了速度目的被注入(inject)到函数中。
HTML
<p ng-bind-html="data[0].terms | nl2br"></p>
JS
.filter('nl2br', ['$sce', function ($sce) {
return function (text) {
return text ? $sce.trustAsHtml(text.replace(/\n/g, '<br/>')) : '';
};
}]);
关于javascript - AngularJS - 从数据中删除\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18235842/