我试图输出简单的html unicode字符,例如♣从表达式中输出。
♣
我尝试使用ng-bind-html,ng-bind-html-unsafe但无法使其显示在HTML中。
ng-bind-html
ng-bind-html-unsafe
$scope.character = '♣';
<span ng-bind-html="{{character}}"></span>
<span ng-bind-html="♣"></span>
如何从表达式输出html字符?
我导入脚本//ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular- sanitize.min.js并将ngSanitize依赖项添加到我的应用程序中。
//ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular- sanitize.min.js
ngSanitize
您将必须使用$ sce(严格上下文转义),ngHtmlBindUnsafe已在1.2中删除。
function myCtrl($scope,$sce){ $scope.html = $sce.trustAsHtml('♣'); }
小提琴:http : //jsfiddle.net/TheSharpieOne/uPw2U/
此外,您可以创建一个过滤器,这样您就不必对控制器中的所有内容进行转义。
.filter('html',function($sce){ return function(input){ return $sce.trustAsHtml(input); } })
HTML:
<span ng-bind-html="'♣'|html"></span>
小提琴:http : //jsfiddle.net/TheSharpieOne/uPw2U/1/