AngularJS 1.2的ngBindHtml不处理/ r&/ n

JVG*_*JVG 0 javascript angularjs ng-bind-html

我有一个看起来像这样的字符串(很多空格,这就是它在我的服务器上的出现方式):

 var care_description = "MATERIAL\r\n    \r\n  56% Acrylic, 24% Rayon, 20% Polyester\r\n \r\n  CARE\r\n  \r\n  Machine Wash, Gentle Or Delicate"
Run Code Online (Sandbox Code Playgroud)

我正在使用新的Angular 1.2.0ngBindHtml并在我的控制器中处理它,如下所示:

    $scope.care = $sce.trustAsHtml(care_description);
Run Code Online (Sandbox Code Playgroud)

(该$scope.records[i].accordions数组只是Angular-Bootstrap的Accordions模块的包装器).

当我将它放入我的视图(通过一个简单的<p ng-bind-html="care"></p>)时,它会像这样呈现:

 MATERIAL 56% Acrylic, 24% Rayon, 20% Polyester CARE Machine Wash, Gentle Or Delicate
Run Code Online (Sandbox Code Playgroud)

它应该是:

MATERIAL

56% Acrylic, 24% Rayon, 20% Polyester 

CARE 

Machine Wash, Gentle Or Delicate
Run Code Online (Sandbox Code Playgroud)

这里唯一的解决方案是让我做一个正则表达式替换来查找所有实例\r\n并替换它们<br />吗?

编辑:我应该提到,虽然HTML上面的例子中没有标签,但通常会有这样我需要在ngBindHtml这里使用而不是<pre>标签.

Kar*_*elė 5

所有ngBindHtml都不是转义标记.你这里没有标签.你可以替换所有\r\n<br/>.或者你可以写一个指令来为你做.或者只是使用<pre>标签.