我很喜欢输出simples html unicode字符,例如& club;从一个表达。
我试图使用ng-bind-html和ng-bind-html-unsafe,但我不能使它出现在我的HTML。
$ scope.character =’& clubs;’;
< span ng-bind-html =“{{character}}”>< / span>
> HTML代码不会注入到跨度打包中
> HTML代码不被解释(html字符不出现在我的控制台中,但是如果我不使用控制器中的表达式,并直接调用< span ng-bind-html =“& clubs;”> ;< / span>,我可以看到在我的控制台中正确解释的HTML字符,但仍然没有注入到跨度中)
如何从表达式输出html字符?
我导入脚本//ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-sanitize.min.js,并在我的应用程序中添加ngSanitize依赖项。
您将不得不使用
$sce (Strict Contextual Escaping),ngHtmlBindUnsafe在1.2中被删除
原文链接:https://www.f2er.com/angularjs/144360.htmlfunction 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>