web-dev-qa-db-ja.com

AngularJS-ng-repeatを使用してHTML値をレンダリングすることは可能ですか?

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

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

私はこのjsFiddleを作成して、私の問題を実証しました。 http://jsfiddle.net/DrtNc/1/

17
Shlomi Schwartz

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

19
Noah Freitas

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

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

これが誰かを助けることを願っています!

17
Matt Saunders

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

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

2
Kishore