2

$scopeは次のものが含まれていますitems

$scope.items= [
    { body : '<span> value </span>' },
    { body : '<span> whatever </span>' }
];

やってみると

<li ng-repeat="item in items">{{item.body}}</li>

HTML 出力は次のとおりです。

<li>&lt;span&gt; value &lt;/span&gt;</li>
<li>&lt;span&gt; whatever &lt;/span&gt;</li>

そして、ブラウザに表示されるテキストは次のようになります。

<span> value </span>
<span> whatever </span>

スパンをエスケープして HTML として解析するにはどうすればよいですか?

編集:受け入れられた回答のリンクは、最新バージョンでは機能しなくなりました。現在、これはあなたがそれを行う方法です

4

2 に答える 2

3

作成しているコードにユーザー データからのエクスプロイトが含まれていないことが確実な場合は、ngBindHtmlUnsafe を確認してください。

http://docs.angularjs.org/api/ng.directive:ngBindHtmlUnsafe

危険な可能性のある html をサニタイズする必要がある場合は、サニタイズ モジュールの ngBindHtml を参照してください。

http://docs.angularjs.org/api/ngSanitize.directive:ngBindHtml

于 2013-06-03T18:00:47.760 に答える