我正在从服务器获取JSON数据,其中一个字段包含转义的html(实际上是电子邮件正文):
<html>rn<head>rn<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">rn</head>rn<body dir="auto">rn<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>rn<div><br>rn<a
(更多…)
我正疯狂地试图用AngularJs来渲染它。
以下不起作用:
<div ng-bind-html-unsafe="mail.htmlbody"></div>
我认为这是正常的,因为html实际上是转义的。我应该先取消拍摄吗?Angular是否能够使用一些可用的服务对html进行解封?
如果我像这样使用$sce:
scope.mail.htmlbody = $sce.trustAsHtml(scope.mail.htmlbody);
显示源html,检查元素可以看到引用的内容。换句话说,在页面中显示源html,而不是正在呈现的html。也许我错过了什么?
在引入$sce
服务(angular 1.2)的同时,放弃了对ng-bind-html-unsafe
指令的支持。新指令是ng-bind-html
。如果你使用这个,代码应该像文档一样工作:
<div ng-bind-html="mail.htmlbody"></div>
使用此指令:
<div ng-bind-html="mail.htmlbody"></div>
别忘了在你的应用程序模块上使用角消毒液。
请在此处查看:http://docs.angularjs.org/api/ngSanitize