2014-09-02 106 views
0

此过滤器正在从REST服务加载的字段上运行。它将新行字符转换为<br/>标签,并且它们正在逃脱。角度过滤器生成转义HTML

angular.module('myMod').filter('convertBreaks', function($sce) { 
    return function(input) { 
     return $sce.trustAsHtml(input.replace(/[\n]/g, "<br/>")); 
    }; 
}); 

它被称为是这样的:

<p>{{data.x.y.z | convertBreaks}}</p> 

<br/>标记出来逃走。任何建议为什么?

更新

忘了提,这是由一个使用$编译服务指令执行。

回答

0

尝试使用ng-bind-html

<p ng-bind-html="data.x.y.z | convertBreaks"></p> 

角有一些内置的,这将导致这些类型的恶作剧的安全机制。

+0

我该如何使用$ compile的指令进行这项工作? – 2014-09-02 18:18:26

+0

@MikeThomsen这可能有所帮助:http://jsfiddle.net/iambrandonm/yhZ77/1/ – 2014-09-02 20:03:40