Подтвердить что ты не робот

Как выводить символы HTML Unicode из выражения

Я собираюсь выводить символы html unicode, например ♣ из выражения.

Я попытался использовать ng-bind-html и ng-bind-html-unsafe, но я не могу заставить его отображаться в своем HTML.

$scope.character = '♣';

<span ng-bind-html="{{character}}"></span>

  • Код html не вводится в линейный баллистик
  • HTML-код не интерпретируется (символ html не отображается в моей консоли, но если я не использую выражение из контроллера и напрямую вызываю <span ng-bind-html="&clubs;"></span>, я могу видеть, что символ HTML правильно интерпретируется в моем консоль, но все еще не впрыскивается в палисадник)

Как выводить html-символы из выражения?

Я импортирую script //ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-sanitize.min.js и добавляю зависимость ngSanitize в своем приложении.

4b9b3361

Ответ 1

Вам нужно будет использовать $sce (Strict Contextual Escaping), ngHtmlBindUnsafe был удален в 1.2

function myCtrl($scope,$sce){
    $scope.html = $sce.trustAsHtml('&clubs;');
}

Fiddle: http://jsfiddle.net/TheSharpieOne/uPw2U/

Далее, вы можете создать фильтр, чтобы вам не нужно было удалять все в контроллере.

.filter('html',function($sce){
    return function(input){
        return $sce.trustAsHtml(input);
    }
})

HTML:

<span ng-bind-html="'&clubs;'|html"></span>

Fiddle: http://jsfiddle.net/TheSharpieOne/uPw2U/1/