Ответ 1
ng-bind-html-unsafe
удален в Angular 1.2. Поскольку вы правильно дезинфицируете свой ввод, вы должны просто использовать ng-bind-html
.
Я хочу использовать unsafe-html в angularjs 1.2. В то время как фильтр без html работает, с html это не так. Что я делаю:
Я добавил angular -sanitize в мой html-заголовок:
<script src="~/Scripts/angular.js"></script>
<script src="~/Scripts/angular-sanitize.js"></script>
Мой angular модуль:
var myApp = angular.module('myApp', ['ngSanitize'])
.filter('convertState', function ($sce) {
return function (state) {
if (state == 1) {
return $sce.trustAsHtml("<strong>" + state + "</strong> special state");
}
else {
return $sce.trustAsHtml("<strong>"+state + "</strong> normal state");
}
}
});
Мой Html:
<td><span ng-bind-html="f.state | convertstate"></span></td>
изменить: обновлено ng-bind-html-unsafe
до ng-bind-html
ng-bind-html-unsafe
удален в Angular 1.2. Поскольку вы правильно дезинфицируете свой ввод, вы должны просто использовать ng-bind-html
.
Вы можете использовать что-то вроде
app.directive('toHtml', function() {
return {
restrict: 'A',
link: function (scope, el, attrs) {
el.html(scope.$eval(attrs.toHtml));
}
};
});
Использовать как:
<p to-html="name | convertState"></p>