Hoe om HTML -, unicode-tekens van een expressie

Ik ben triying om de uitgang van de eenvoudige html -, unicode-tekens, bijvoorbeeld ♣ van een expressie.

Ik heb geprobeerd het gebruik van ng-bind-html en ng-bind-html-unsafe maar ik kan niet om het in mijn HTML.

$scope.character = '♣';

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

  1. De html code is niet geïnjecteerd in het span balise
  2. De html-code wordt niet geïnterpreteerd (de html-teken verschijnt niet in mijn console, maar als ik het niet gebruik maken van een uitdrukking, een controller en rechtstreeks bellen <span ng-bind-html="&clubs;"></span>, ik zie de HTML-tekens correct worden geïnterpreteerd in mijn console, maar nog steeds niet geïnjecteerd in het span balise)

Hoe html-tekens uit een expressie ?

Ik importeer het script //ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-sanitize.min.js en voeg de ngSanitize afhankelijkheid in mijn app.

  • Waarom niet gewoon gebruik maken van de unicode-escape-reeks: ‘\u2663’?
InformationsquelleAutor Ludo | 2014-01-13

 

One Reply
  1. 46

    U gebruik maken van $sce (Strikte Contextuele Ontsnappen), ngHtmlBindUnsafe verwijderd 1.2

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

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

    Furthernore, kunt u een filter maken zodat je die niet nodig hebt om te ontsnappen aan alles wat in de controller.

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

    HTML:

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

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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *