为什么不会\ n和\在字符串中工作?

时间:2015-02-03 23:15:13

标签: javascript angularjs

我正在尝试打印一个对象中的内容,其中一些属性中有一些标签,这就是为什么我不能随便在js中随机创建新元素,因为我不知道哪些属性将有标签。但它们不会在我的浏览器中呈现。我觉得我在这里错过了一个非常简单的概念......下面提供了一个例子

JSFiddle:http://jsfiddle.net/tvzgypd6/3/

以下是我在角度

中使用ng-repeat时无法正确显示的对象示例
$scope.objs = [
    {a : 'test 1 <br> test 1'},
    {a : 'test 2 '},
    {a : 'test 3'},
    {a : "test 4 \n test 4"},
    {a : 'test 5 \n test 5'},
]

2 个答案:

答案 0 :(得分:1)

你可以通过CSS实现它:

p {
    white-space: pre;
}

这里是你小提琴的一个叉子:http://jsfiddle.net/em0r3krw/

答案 1 :(得分:0)

为了显示HTML,您应该使用ng-bind-htmlng-sanitize

angular.module('test', ['ngSanitize'])
<li ng-repeat="obj in objs">
    <p ng-bind-html="obj.a"></p>
</li>

在html中\n实际上并未添加新行。所以你应该使用zwacky指出的white-space: pre;

p {
    white-space: pre;
}

JsFiddle