如何让AngularJS输出转义HTML

我从服务器获取JSON数据,其中一个字段包含转义的html(实际上是一个电子邮件正文):

<html>\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r\n</head>\r\n<body dir="auto">\r\n<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>\r\n<div><br>\r\n<a <html>\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">\r\n</head>\r\n<body dir="auto">\r\n<div>Buonasera, ho verificato i dati sul mio account ed il numero di cell che vi ho fornito</div>\r\n<div><br>\r\n<a (更多…)

我正在尝试使用AngularJs渲染它。

以下不起作用:

 <div ng-bind-html-unsafe="mail.htmlbody"></div> 

我认为这是正常的,因为HTML实际上逃脱了。 我应该先find它吗? Angular是否能够通过一些可用的服务来避免使用html?

如果我使用这样的$ sce:

 scope.mail.htmlbody = $sce.trustAsHtml(scope.mail.htmlbody); 

源HTML显示,检查元素,我可以看到内容被引用。 换句话说,在页面中显示源HTML而不是正在呈现的HTML。 也许我错过了什么?

同时引入$sce服务(angular1.2),支持ng-bind-html-unsafe指令被删除。 新的指令是ng-bind-html 。 如果你使用这个,代码应该按照logging工作:

  <div ng-bind-html="mail.htmlbody"></div> 

使用这个指令:

 <div ng-bind-html="mail.htmlbody"></div> 

不要忘记在您的应用程序模块上使用angular度消毒。

在这里检查: http : //docs.angularjs.org/api/ngSanitize