一尘不染

如何在Angular 1.2+中使用$ sce.trustAsHtml(string)复制ng-bind-html-unsafe

angularjs

ng-bind-html-unsafe 已在Angular 1.2中删除

我正在尝试在需要使用的地方实现一些东西ng-bind-html-unsafe。在文档和github上,他们说:

绑定到$ sce.trustAsHtml(string)的结果时,ng-bind-html提供类似ng-html-bind-
unsafe的行为(innerHTML的结果未经消毒)。

你怎么做到这一点?


阅读 259

收藏
2020-07-04

共1个答案

一尘不染

应该是:

<div ng-bind-html="trustedHtml"></div>

加在您的控制器中:

$scope.html = '<ul><li>render me please</li></ul>';
$scope.trustedHtml = $sce.trustAsHtml($scope.html);

而不是旧的语​​法,您可以在其中$scope.html直接引用变量:

<div ng-bind-html-unsafe="html"></div>

正如一些评论者指出的那样,$sce必须将其注入控制器中,否则会$sce undefined出现错误。

 var myApp = angular.module('myApp',[]);

 myApp.controller('MyController', ['$sce', function($sce) {
    // ... [your code]
 }]);
2020-07-04