angularjs显示html文本

Angularjs中输出变量使用“{{}}”或者“ng-bind”,但是如果变量中有html代码的话,angularjs为了xss安全,默认是不解析html,直接原样显示html代码。

如果需要显示解析后的html代码,需要使用angular-sanitize模块。

控制器代码

 
  
  1. demo.controller('Demo13Controller', [
  2. '$scope', function($scope) {
  3. $scope.html = '这是格式化的HTML文本';
  4. }
  5. ]);

视图代码

 
  
  1. class="demo13" ng-controller="Demo13Controller">
  2. name="demo13">13.显示HTML文本

  3. class="demo13-content">
  4. 需要显示的文本:{{html}}

  5. Html格式化文本: ng-bind-html="html|htmlContent">

  • htmlContent过滤器代码

     
      
    1. demo.filter('htmlContent',['$sce', function($sce) {
    2. return function(input) {
    3. return $sce.trustAsHtml(input);
    4. }
    5. }]);

    线上demo:http://ngdemo.sinaapp.com/#demo13

    你可能感兴趣的:(AngularJs)