0
HTMLからAngularJsにデータを渡したいと思います。これは正常に動作しています:HTML文字をデコードするAngularJs(不要)
<div ng-init='initModel(@Model.ToJson())'></div>
実際のHTML:説明が正しくエンコードされ
<div ng-init='initModel({
...
"description": "<pre><code><script>alert(\"test\");</script>\n</code></pre>",
"title": "tes testse stsets sets"
}
},
...
})'></div>
。 <より前の>と<コード>の要素はエンコードされていません。これは信頼できるHTMLです。 <スクリプト>タグがエンコードされています。
私はこの機能を持っている私のAngularJsコントローラで:私は、この関数にブレークポイントを置く場合
$scope.initModel = function(model) {
$scope.data = model.response.data;
}
、モデルの出力は次のとおりです。
"<pre><code><script>alert("test");</script>↵</code></pre>"
AngularJsは、すべてのHTML文字をデコードするように見えますこのinitModel()関数を実行しますが、なぜですか?私はそれがHTMLでレンダリングされるのと同じエンコーディングをしたいと思います。
いくつかのアイデア?
ありがとうございます!
あなたはngBindHtmlを使用する必要がありますhttps://docs.angularjs.org/api/ng/directive/ngBindHtml – dmoo
私はすでにngBindHtmlを使用していますが、問題は