AngularJS - Можно ли использовать ng-repeat для визуализации значений HTML?
Я использую AngularJS со сторонней службой, которая генерирует html-ответы. Я хочу использовать ng-repeat для отображения ответов HTML в виде списка, однако Angular отображает его как текст.
Можно ли использовать свойство ng-repeat для рендеринга HTML?
Я создал этот jsFiddle, чтобы продемонстрировать свою проблему.
http://jsfiddle.net/DrtNc/1/
Ответы
Ответ 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
Ответ 2
То, как я достиг этого, - ng-bind-html внутри ng-repeat;
<div ng-repeat="comment in comments">
<div ng-bind-html="comment.content"></div>
</div>
Надеюсь, это поможет кому-то!
Ответ 3
item.html всегда будет интерпретироваться как текст. вам нужно явно преобразовать его в html. нажмите здесь
Я добавил функцию рендеринга, которая преобразует каждую строку в html.