Могу ли я предотвратить ng-repeat от html-кодирования / экранирования моего контента в AngularJS 1.2? Или нужно написать собственную директиву?

Как я могу предотвратить ng-repeat от html-кодирования / экранирования моего контента в AngularJS 1.2? Мне нужно написать свою собственную директиву? Я прочитал это ng-bind-html-unsafe устарел в Angular 1.2, но я не нашел убедительной информации относительно его использования с ng-repeat. Некоторая информация сказала использовать ng-bind-html, но это тоже не сработало.

<div ng-repeat="entry in blogEntries" ng-bind-html-unsafe="entry.title">
    <div class="well">
        <div>{{entry.date }}</div> {{entry.title}}
    </div>
</div>

Это приводит к тому, что часть моего текста отображается как HTML вместо рендеринга HTML:

<ul> <li>Blah1 5.1<li> <li>Blah 3<li></ul>

Я тоже пробовал ng-bind-html

Я могу обновить при необходимости

Нужно ли использовать модуль ng-sanitize для того, чтобы использовать ng-bind-html?

1 ответ

Решение

Директива ng-bind-html работает, но мне пришлось включить модуль очистки. Т.е.

var blogApp = angular.module('blogApp', ['ngRoute', 'ngSanitize'])
    .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
    ...    
}]);

<div ng-repeat="entry in blogEntries">
    <div class="well">
        <div>{{entry.date}}</div><span ng-bind-html="entry.title"></span>
    </div>
</div>
Другие вопросы по тегам