首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular1.3:当试图在字符串中加载html元素/标签时,ng-bind-html不起作用吗?

Angular1.3:当试图在字符串中加载html元素/标签时,ng-bind-html不起作用吗?
EN

Stack Overflow用户
提问于 2015-08-03 16:41:41
回答 1查看 462关注 0票数 0

我试图在从一些json数据中提取的字符串example: ("<div>test</div><p></p>......")中呈现一些html标记,但是下面我常用的$sce.trustAsHtml()过滤器由于某种原因不起作用,只是将字符串呈现为纯文本:

myHtmlFilter.js:

代码语言:javascript
复制
angular
  .module('myApp.htmlFilter', [])

  .filter('html', ['$sce', function ($sce) { 
    return function (text) {
        return $sce.trustAsHtml(text);
    };
  }]);

Index.html:

代码语言:javascript
复制
<div ng-bind-html='View2.loadedJson.htmlTextString | html'></div>

如果我像下面这样直接将一些html硬编码到过滤器中,它看起来确实有效:

代码语言:javascript
复制
<div ng-bind-html='"<strong>Test</strong>" | html'></div>

有没有人知道我哪里错了?

EN

Stack Overflow用户

发布于 2015-08-03 17:06:36

您需要在您的应用程序中包含ngSanitize。从文档(https://docs.angularjs.org/api/ng/directive/ngBindHtml):

要利用此功能,请确保$sanitize可用,例如,通过将ngSanitize包含在模块的依赖项中(而不是在核心Angular中)。为了在模块的依赖项中使用ngSanitize,您需要在应用程序中包含“angular-Saniize.js”。

您需要更改脚本中的第一行,并在html中包含一个指向angular sanitize js文件的链接:

代码语言:javascript
复制
angular.module('myApp.htmlFilter', ['ngSanitize'])

编辑:http://plnkr.co/edit/LNblnXUIakoSuWHkIAeZ?p=preview

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31782935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档