我试图使用$sanitize提供者和ng-bind-htm-unsafe指令,以允许我的控制器将HTML注入DIV。
然而,我不能让它工作。
<div ng-bind-html-unsafe="{{preview_data.preview.embed.html}}"></div>
我发现这是因为它被从AngularJS中删除了(谢谢)。
但是如果没有ng-bind-html-unsafe,我就会得到这个错误:
http://errors.angularjs.org/undefined/预计美元/不安全
而不是像Alex建议的那样在你的作用域中声明一个函数,你可以将它转换为一个简单的过滤器:
angular.module('myApp')
.filter('to_trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);
然后你可以这样使用它:
<div ng-bind-html="preview_data.preview.embed.html | to_trusted"></div>
这里有一个工作示例:http://jsfiddle.net/leeroy/6j4Lg/1/
而不是像Alex建议的那样在你的作用域中声明一个函数,你可以将它转换为一个简单的过滤器:
angular.module('myApp')
.filter('to_trusted', ['$sce', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
}]);
然后你可以这样使用它:
<div ng-bind-html="preview_data.preview.embed.html | to_trusted"></div>
这里有一个工作示例:http://jsfiddle.net/leeroy/6j4Lg/1/