【问题描述】
AngularJS的强大之处之一就是他的数据双向绑定功能----->ng-bind和针对form的ng-model
但在我们的项目当中会遇到这样的情况,后台返回的数据中带有各种各样的html标签
AngularJS输出html的时候,浏览器并不解析这些html标签
通过api,发现通过指令 ng-bind-html来实现html的输出。
<div class="col-md-12 ng-binding" ng-bind-html="item.content ">
但是并不起作用,浏览器中显示的还是html代码。
【解决办法】
后来发现还需要通过通过$sce服务来实现html的展示。
angular.module("list",[]).controller("BlogListCtrl", BlogListCtrl).filter( 'to_trusted', ['$sce', function ($sce) { return function (text) { return $sce.trustAsHtml(text); } }] )
这里通过$sce构建一个过滤器来对输出的html进行过滤
<div class="col-md-12 ng-binding" ng-bind-html="item.content|to_trusted ">
这样就可以通过AngularJS正常的输出html标签,并且被浏览器解析了
【总结】
以上就是这篇文章的全部内容了,希望这篇文章的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
问题内容: 标题输出很好,但是内容却没有。它里面有一些html,我得到了以下错误:像这样描述:http : //docs.angularjs.org/error/ $ sce:unsafe,这很好,但是那我怎么能在那里输出内容将在其中一些HTML,所以我必须将其设置为或smthn。正确的方法是什么? 编辑: AngularJS版本:1.2 问题答案: 因此解决方法是: 从http://code.a
问题内容: 阅读AngularJS教程第9步后, 我创建了自己的AngularJS过滤器,该过滤器应将布尔数据转换为html。 这是我的过滤器代码: 这是我的HTML代码: 问题是浏览器将返回值按字面显示为: 而不是应显示的图标(或呈现的html)。 这是JSFiddle示例 我认为在此过程中会发生一些消毒。 是否可以关闭此特定过滤器的消毒功能? 我也知道如何通过不从过滤器返回HTML输出而是显示
问题内容: 我从服务器获取JSON数据,其中一个字段包含转义的html(实际上是电子邮件正文): (更多…) 我为尝试使用AngularJs渲染而疯狂。 以下内容不起作用: 我认为这是正常的,因为html实际上已经转义了。我应该先取消转义吗?Angular是否可以通过某些可用服务转义html? 如果我这样使用$ sce: 显示源html,检查元素可以看到引用的内容。换句话说,在页面中将显示源htm
问题内容: 我有一些这样的文字: 我想显示不带标签的内容: 我也不想应用标签,我想剥离它们。有什么简单的方法可以做到这一点? 角HTML: 问题答案: jQuery比SLOWER慢40倍左右 ,请不要将jQuery用于该简单任务。 用法: 使用angular.js: 用 :
FAQs in section [15]: [15.1] 为什么应该用 <iostream> 而不是传统的 <cstdio>? [15.2] 当键入非法字符时,为何我的程序进入死循环? [15.3] 那个古怪的while (std::cin >> foo)语法如何工作? [15.4] 为什么我的输入处理会超过文件末尾? [15.5] 为什么我的程序在第一个循环后,会忽略输入请求呢? [15.6]
问题内容: 我有收音机输入,如果要检查当前收音机,我想通过单击收音机u检查状态。 这段代码: 不工作 小提琴:http : //jsfiddle.net/Zoomer/8s4m2e5e/ 问题答案: 单选按钮一次只能选择一个,并且一旦被选中就不能被用户取消选中(除非您以编程方式进行操作)。因此,如果要在当前选中它时取消选中它,则可以执行以下操作: 在您的控制器中: 演示:http : //jsfi