Ng-bind仍然呈现html

时间:2016-02-22 12:38:05

标签: angularjs

我从第三方获取json数据。其中一些使用ng-bind呈现正常,其中它转换并呈现​​html代码。

但与其他人不相同。它需要再次绑定它。

我尝试通过函数或过滤器

运行它
$scope.trustedHtml = function (plainText) {
        return $sce.trustAsHtml(plainText);
    }

ng-bind-html="trustedHtml(hotelDetails.roomInformation)"

我还在我的应用中尝试了一个过滤器

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

但这两个都不起作用(如果我做错了)。如何在我的页面上正确呈现html?

这是我从API

返回的内容
<p><b>Know Before You Go</b> <br /><ul> <li>

这是我使用ng-bing-html获得的,与通过函数运行它相同

<p><b>Know Before You Go</b> <br /><ul> <li>

Plunker

1 个答案:

答案 0 :(得分:0)

由于以下三个原因之一,您可能会遇到此问题。

<强> 1。你安装了凉亭消毒吗?

  

如果不使用安装它    bower安装angular-sanitize   。 (不要忘记将其包含在HTML中)

<强> 2。你在控制器中注射了消毒剂吗?

  

如果没有将它注入你的控制器

var app = angular.module(app,'ngSanitize');

第3。您使用的是{{}}吗?

  

如果您使用过{{}},则不会看到输出。而是使用

 <div ng-bind-html="hotelDetails.roomInformation"></div>