AngularJS - 是否可以使用ng-repeat来呈现HTML值?

时间:2012-07-10 07:38:53

标签: javascript html model-view-controller web angularjs

我正在使用AngularJS与第三方服务生成HTML响应。我想使用ng-repeat将HTML响应呈现为列表,但Angular将其呈现为文本。

是否可以使用ng-repeat来呈现HTML属性?

我已经创建了这个jsFiddle来演示我的问题。 http://jsfiddle.net/DrtNc/1/

3 个答案:

答案 0 :(得分:19)

我认为使用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

答案 1 :(得分:16)

我实现这一目标的方法是在ng-repeat中使用ng-bind-html;

<div ng-repeat="comment in comments">
  <div ng-bind-html="comment.content"></div>
</div>

希望这有助于某人!

答案 2 :(得分:2)

item.html将始终被解释为文本。你必须明确地将它转换为HTML。 click here

我添加了一个渲染函数,它将每个字符串转换为html。