17

html応答を生成するサードパーティのサービスでAngularJSを使用しています。ng-repeatを使用してHTML応答をリストとしてレンダリングしたいのですが、Angularはそれをテキストとしてレンダリングします。

ng-repeatを使用してHTMLプロパティをレンダリングすることは可能ですか?

私は自分の問題を示すためにこのjsFiddleを作成しました。 http://jsfiddle.net/DrtNc/1/

4

3 に答える 3

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

于 2012-07-10T15:02:02.480 に答える
17

私がこれを達成した方法は、ng-repeat内のng-bind-htmlによるものです。

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

これが誰かに役立つことを願っています!

于 2014-09-17T13:03:02.660 に答える
2

item.htmlは常にテキストとして解釈されます。明示的にhtmlに変換する必要があります。ここをクリック

各文字列をhtmlに変換するレンダリング関数を追加しました。

于 2012-07-10T08:15:43.743 に答える