使用ng-bind-html在页面上显示html标签

时间:2017-12-01 08:03:20

标签: javascript html angularjs

请参阅下面给出的代码:

    <div ng-app="myApp" ng-controller="myCtrl">        
        <p ng-bind-html="myText"></p>        
    </div>

    <script>
        var app = angular.module("myApp", ['ngSanitize']);
        app.controller("myCtrl", function($scope) {
            $scope.myText = "My name is: <h1>John Doe</h1>";
        });
    </script>

输出为:我的名字是:                 John Doe

如何显示原文。例如:My Name is : <h1>John Doe</h1> 我想在页面上显示HTML标记。

4 个答案:

答案 0 :(得分:2)

使用ng-bind代替ng-bind-html

<div ng-app="myApp" ng-controller="myCtrl">        
    <p ng-bind="myText"></p>        
</div>

或者只是

<p>{{myText}}</p>

答案 1 :(得分:2)

请使用wp_footer()的{​​{1}}。

$sce
angularjs

<强>参考:

  1. How to use $sce

答案 2 :(得分:2)

首先使用$sce创建过滤器:

app.filter("html", ['$sce', function($sce) {
  return function(input){
    return $sce.trustAsHtml(input);
  }
}]);

然后:

<div ng-bind-html="myText | html"></div>

答案 3 :(得分:1)

我认为你应该像这样使用

控制器中的

$scope.mytext="&lth1&gtJohn Doe&lt/h1&gt"

在你的html页面

<p ng-bind-html="myText"></p>