角度过滤器生成转义的HTML

时间:2014-09-02 17:54:17

标签: javascript angularjs angularjs-filter

此过滤器正在从REST服务加载的字段上运行。它将新的换行符转换为<br/>标记,然后它们就会被转义。

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/>代码正在转出。有什么建议吗?

更新

忘记提到这是由使用$ compile服务的指令执行的。

1 个答案:

答案 0 :(得分:0)

尝试使用ng-bind-html

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

Angular有一些内置的安全机制会引起这些恶作剧。