我不想在Angular应用程序中转义HTML标记

I want NOT to escape HTML tags in Angular app

本文关键字:转义 HTML 标记 应用程序 Angular 我不想      更新时间:2023-09-26

我是AngularJS的新手。我不想转义HTML标签,并编写了以下代码:

<script>
  angular.module('plunker', ['ngSanitize'])
  .controller('MainCtrl', ['$scope', '$sce', 
    $scope.deliberatelyTrustDangerousSnippet = function() {
      return $sce.trustAsHtml('<strong>foo</strong>');
    };
  ])
</script>
<div ng-controller="MainCtrl">
  <div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div>
</div>   

代码也在这里:http://plnkr.co/edit/uqYNaoj2S8qGx4tMACcu

谢谢你的好意。

您的整个控制器块都不正确。

而不是

.controller('MainCtrl', ['$scope', '$sce', $scope.deliberatelyTrustDangerousSnippet = function() { return $sce.trustAsHtml('<strong>foo</strong>'); }; ])

应该是

angular.module('plunker', ['ngSanitize']) .controller('MainCtrl', ['$scope', '$sce', function($scope, $sce){ $scope.deliberatelyTrustDangerousSnippet = function() { return $sce.trustAsHtml('<strong>foo</strong>'); } }]);

你没有为初学者声明function()——这就是你注入的$scope$sce将进入的地方

这是一个更新的Plunkr