html応答を生成するサードパーティのサービスでAngularJSを使用しています。ng-repeatを使用してHTML応答をリストとしてレンダリングしたいのですが、Angularはそれをテキストとしてレンダリングします。
ng-repeatを使用してHTMLプロパティをレンダリングすることは可能ですか?
私は自分の問題を示すためにこのjsFiddleを作成しました。 http://jsfiddle.net/DrtNc/1/
html応答を生成するサードパーティのサービスでAngularJSを使用しています。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に変換するレンダリング関数を追加しました。