2016-05-01 2 views
0

Я хочу передать данные из HTML в AngularJs. Это прекрасно работает:AngularJs декодирование HTML-символов (нежелательных)

<div ng-init='initModel(@Model.ToJson())'></div> 

Фактический HTML:

<div ng-init='initModel({ 
     ... 
     "description": "<pre><code>&lt;script&gt;alert(\"test\");&lt;/script&gt;\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.

Некоторые идеи?

Спасибо!

+0

Вам нужно использовать ngBindHtml https://docs.angularjs.org/api/ng/directive/ngBindHtml – dmoo

+0

Я уже использую ngBindHtml, но проблема в том, что тег

Смежные вопросы