ng-bind-html-unsafe无法正常工作

时间:2016-05-12 10:20:08

标签: angularjs

我已将角度版本从1.0.8升级到1.4.0。

我使用ng-bind-html-unsafe="value | noHTML | newlines"来包裹字符串。自新版本以来,这不起作用。

我尝试使用以下解决方案,但仍无效。

app.filter('unsafe', function($sce) { return $sce.trustAsHtml; });

ng-bind-html-unsafe="value | unsafe | noHTML | newlines"

2 个答案:

答案 0 :(得分:2)

由于Angular 1.2.X ng-bind-html-unsafe已被弃用,请使用ng-bind-html

ng-bind-html="value | unsafe | noHTML | newlines"

答案 1 :(得分:1)

谢谢@Pankaj Parkar:

我现在解决了,我需要过滤所有。即。{,to_trustednoHTMLnewlines。而且我们还需要从$sce.getTrustedHtml(object)

获取实际值
.filter('to_trusted', ['$sce', function($sce){
    return function(text) {
        return $sce.trustAsHtml(text);
    }
}]).filter('noHTML', ['$sce', function($sce){
    return function(text) {
        var str = $sce.getTrustedHtml(text);
        str = str
        .replace(/&/g, '&')
        .replace(/>/g, '>')
        .replace(/</g, '&lt;');
        return $sce.trustAsHtml(str);
    }
}]).filter('newlines', ['$sce', function($sce){
    return function(text) {
        var str = $sce.getTrustedHtml(text);
        str =  str.replace(/\n/g, '<br/>');
        return $sce.trustAsHtml(str);
    }
}])

ng-bind-html="value| to_trusted | noHTML | newlines"