字符串不使用$ sce在angularJs中呈现为html

时间:2015-12-01 06:50:15

标签: javascript html angularjs

我从服务器<span>text</span>获取以下数据。

我在控制器中使用以下功能

$scope.getHtml = function (html) {
    return $sce.trustAsHtml(html);
};

并在html中如下

<div class="col-sm-12 col-md-12" ng-bind-html="getHtml(vm.profileData.htmltext)">

执行此操作后,我在视图中看到它,它不呈现:

<span>text</span>

请告诉我哪里出错了?提前致谢

2 个答案:

答案 0 :(得分:3)

我提到你需要一个html实体解码

 $scope.html = angular.element('<div></div>').html('&lt;i&gt;text&lt;/i&gt;').text();
 $scope.getHtml = function() {
  return $sce.trustAsHtml($scope.html);
};

plunker url

答案 1 :(得分:0)

我建议使用此代码。

function htmlDecode(str) {
     return $('<textarea />').html(str).text();   
}  

// angular js
$sce.trustAsHtml(htmlDecode(html));