如何在AngularJS中使用ng-bind-html-unsafe?

时间:2015-03-18 09:37:22

标签: html angularjs

我使用编辑器添加注释,此内容另存为db中的html。当我想在页面中显示它时,所有html元素都出现在输出中。所以我想使用this代码来解决我的问题但不解决它。

这是我的代码

数据包括{body,name,date},正文保存为html

  <div ng-repeat="d in Data">
       <div class='content'>
           <div ng-bind-html-unsafe="d.body">
                 <p>{{d.body}}</p>
           </div>
        </div>
  </div>

1 个答案:

答案 0 :(得分:3)

在jsfiddle中,一个问题是使用了角度1.1,其中ng-bind-html-unsafe正在工作。

但目前angular已从最新版本弃用ng-bind-html-unsafe,而您需要使用ng-bind-html,然后使用$sce服务和$sce.trustedAsHtml()来清除角度过滤器中的网址

过滤

app.filter("sanitize", ['$sce', function($sce) {
        return function(htmlCode){
            return $sce.trustAsHtml(htmlCode);
        }
}]);

<强> HTML

  <div ng-repeat="d in Data">
       <div class='content'>
           <div ng-bind-html="d.body | sanitize">
                 <p>{{d.body}}</p>
           </div>
        </div>
  </div>

有关详细信息,请参阅此SO answer