0
Я хочу передать данные из HTML в AngularJs. Это прекрасно работает:AngularJs декодирование HTML-символов (нежелательных)
<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>
Описание правильно закодированы. <pre> и < код > элементов не закодировано, это - надежный 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, но проблема в том, что тег