我将 AngularJS 与生成 html 响应的第三方服务一起使用。我想使用 ng-repeat 将 HTML 响应呈现为列表,但是 Angular 将其呈现为文本。
是否可以使用 ng-repeat 呈现 HTML 属性?
我创建了这个 jsFiddle 来演示我的问题。 http://jsfiddle.net/DrtNc/1/
我将 AngularJS 与生成 html 响应的第三方服务一起使用。我想使用 ng-repeat 将 HTML 响应呈现为列表,但是 Angular 将其呈现为文本。
是否可以使用 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
我实现这一点的方法是通过 ng-repeat 中的 ng-bind-html;
<div ng-repeat="comment in comments">
<div ng-bind-html="comment.content"></div>
</div>
希望这对某人有帮助!
item.html 将始终被解释为文本。您必须将其显式转换为 html。点击这里
我添加了一个渲染函数,它将每个字符串转换为 html。