【问题标题】:Ng-bind still renders htmlng-bind 仍然渲染 html
【发布时间】:2016-02-22 12:38:05
【问题描述】:

我正在从第 3 方获取 json 数据。其中一些使用 ng-bind 渲染正常,它在其中转换和渲染 html 代码。

但对于其他人则不然。好像需要再次ng-bind。

我尝试通过函数或过滤器运行它

$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

【问题讨论】:

  • 你能用你收到的数据示例创建一个 JSFiddle 吗?

标签: angularjs


【解决方案1】:

您可能会因为这 3 个原因中的任何一个而遇到此问题。

1.您是否安装了凉亭消毒剂?

如果不使用安装它 bower 安装 angular-sanitize . (并且不要忘记将它包含在您的 HTML 中)

2。您是否在控制器中注入了消毒剂?

如果不将其注入您的控制器中

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

3.你用过 {{}} 吗?

如果您使用了 {{}},您将看不到输出。而是使用

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

【讨论】:

  • Bower sanitize 已安装,我已将其注入我的应用程序而不是控制器中,并且我没有使用 {{}}
  • 一个 JsFiddle/Plunker 将有助于调试。
猜你喜欢
  • 2015-08-31
  • 2015-02-11
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
  • 1970-01-01
相关资源
最近更新 更多