Angular sanitize / ng-bind-html无法正常工作?

时间:2013-02-06 10:38:06

标签: angularjs ng-bind-html ngsanitize

我已经设置了转发器,只要其中没有html,就可以显示数据。

我已加入angular-sanitize.js并尝试使用ng-bind-html

但是跨度内没有显示任何内容,只在ng-bind-html属性中显示。所以看起来卫生处理不起作用,

我读到这需要添加到应用程序依赖项中,但我不知道该在哪里这样做。

我刚刚在角点上工作,所以只需要在一分钟内设置一个非常基本的控制器。

5 个答案:

答案 0 :(得分:125)

  1. 您需要包含angular-sanitize.js http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-sanitize.js

  2. 为模块依赖项添加“ ngSanitize

      

    var myApp = angular.module('myApp',['ngSanitize']);

  3. 请勿在属性

    中使用{{}}
      

    < h1 ng-bind-html =“item.title”>< / h1>

  4. 请勿使用$sce.trustAsHtml()

答案 1 :(得分:7)

我的解决方案是从这里下载js文件

http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-sanitize.js

我一直在使用我在角度git repo中找到的那个,

答案 2 :(得分:1)

使用指令遇到此问题且解决方案未在代码中使用“替换”。

`ng-html-bind'正在templateUrl视图中的div上使用

appDirectives.directive('helpText', [function () {
return {
    restrict: 'E',
    //replace: true, // With this uncommented it does not work!
    scope: {
        displayText: '='
    },
    templateUrl: '/web/form/helptext',
    link: function (scope) {

    }

};
}]);

答案 3 :(得分:0)

我的解决方案与Seglespaan相反。它是使用Bower版本的Angular Sanitize。

bower install angular-sanitize

https://github.com/angular/bower-angular-sanitize

答案 4 :(得分:0)

我遇到了类似的问题但我的有点奇怪。只有输入标签才会呈现,而其他所有内容都包括

<h3></h3>
<em></em> 

一样。几个小时后,我意识到除了

angular-sanitize.min.js 

我需要添加

textAngular-sanitize.min.js
在输入标签工作之前

到我的项目。这真的令人沮丧所以我希望这可以帮助处于类似情况的任何人