我正在尝试将$ sce.trustAsHtml()与ng- repeat中的对象属性一起使用。结果是HTML完全空白。不过,使用ngSanitize可以正确输出HTML。
<div ng-repeat="question in questions"> <p ng-bind-html="$sce.trustAsHtml(question.body)"> </p> </div>
顺便说一下,我正在使用AngularJS v1.3.0-beta.3。不知道是否有错误或我做错了什么。
您不能$sce.trustAsHtml在表达式中使用(除非$sce是的属性$scope),因为表达式是在的上下文中求值的$scope。
$sce.trustAsHtml
$sce
$scope
最干净的方法是使用ngSanitize。 第二种最干净的方法是在$sce.trustAsHtml函数中公开$scope:
ngSanitize
<div ng-repeat="..."> <p ng-bind-html="trustAsHtml(question.body)"></p> </div> $scope.trustAsHtml = $sce.trustAsHtml;