我正在使用AngularJS和第三方服务来生成html响应。我想使用ng-repeat将HTML响应呈现为列表,但Angular会将其呈现为文本。AngularJS - 是否可以使用ng-repeat呈现HTML值?
是否可以使用ng-repeat呈现HTML属性?
我创建了这个jsFiddle来展示我的问题。 http://jsfiddle.net/DrtNc/1/
我正在使用AngularJS和第三方服务来生成html响应。我想使用ng-repeat将HTML响应呈现为列表,但Angular会将其呈现为文本。AngularJS - 是否可以使用ng-repeat呈现HTML值?
是否可以使用ng-repeat呈现HTML属性?
我创建了这个jsFiddle来展示我的问题。 http://jsfiddle.net/DrtNc/1/
我认为使用ng-bind-html-unsafe
会给你你所需要的。
<div ng:repeat="item in items" ng-bind-html-unsafe="item.html"></div>
这里有一个工作提琴:http://jsfiddle.net/nfreitas/aHfAp/的指令
文档可以在这里找到:http://docs.angularjs.org/api/ng.directive:ngBindHtmlUnsafe
优秀的标签,那是it – 2012-07-11 08:24:32
如果我想要在item.html中使用自定义指令,该怎么办? – test30 2014-08-07 11:26:25
这是几年前的事了 - 只是想告诉新的流量,这个方法已经被弃用了,下面是一个很好的方法:http ://sackoverflow.com/questions/19415394/with-ng-bind-html-unsafe-removed-how-do-i-inject-html – 2015-05-25 21:50:53
item.html将始终被解释为文本。你必须明确地将其转换为html。 click here
我已经添加了一个渲染函数,它将每个字符串转换为html。
超酷!感谢您的帮助 – 2012-07-10 08:17:26
欢迎:) – Kishore 2012-07-10 08:17:58
嗯......我认为现在庆祝还为时过早。你的解决方案呈现innerHTML,我真正需要的是呈现整个HTML。 看到我的更新:http://jsfiddle.net/DrtNc/4/ – 2012-07-10 09:59:50
我实现这一点的方法是NG-收口HTML的NG-重复内;
<div ng-repeat="comment in comments">
<div ng-bind-html="comment.content"></div>
</div>
希望这可以帮助别人!
对于您现在查看此问题的用户,请查看[ngBindHtml](http://docs.angularjs.org/api/ng.directive:ngBindHtml)文档的顶级评论。这对我来说很有效,而这些答案没有。 – 2013-11-20 22:37:12