2014-01-13 4 views
19

simples html 유니 코드 문자를 출력하려고 시도합니다 (예 : ♣).표현식에서 HTML 유니 코드 문자를 출력하는 방법

ng-bind-htmlng-bind-html-unsafe을 사용해 보았지만 HTML에 표시되지 않습니다.

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

  1. $scope.character = '&clubs;';

    HTML 코드는 HTML 코드 (html로 문자 내 콘솔에 표시되지 않습니다 해석되지 않습니다 스팬 발리
  2. 에 주입 것이 아니라, 내가 경우 컨트롤러의 표현을 사용하지 말고 직접 <span ng-bind-html="&clubs;"></span>을 호출하면 내 콘솔에서 올바르게 해석 된 HTML 문자가 표시되지만 스팬 발리 스에는 아직 주입되지 않음

표현식에서 html 문자를 출력하는 방법은 무엇입니까?

//ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-sanitize.min.js 스크립트를 가져오고 내 응용 프로그램에 ngSanitize 종속성을 추가하십시오.

+0

왜 단순히 유니 코드 이스케이프 시퀀스를 사용할 수 있습니까? –

답변

45

당신은 $sce (Strict Contextual Escaping)를 사용해야합니다, ngHtmlBindUnsafe은 1.2

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

바이올린에서 제거 : 당신이 컨트롤러의 모든 탈출 할 필요가 없습니다 있도록 http://jsfiddle.net/TheSharpieOne/uPw2U/

Furthernore, 당신은 필터를 만들 수 있습니다.

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

HTML :

바이올린 : '\의 u2663'http://jsfiddle.net/TheSharpieOne/uPw2U/1/

관련 문제