使用ng-bind-html隐藏“ <>”中包含的单词

时间:2018-07-09 12:19:00

标签: angularjs ng-bind-html

我正在尝试创建一个文本框,该文本框可以接收自由文本,并将文本显示为输出。例如,如果我输入"Angular",则结果应为 Angular 。无论使用什么字符,它都应该照原样显示。

为此,我正在使用ng-bind-html。我看到的问题是,每当我在"<>"中添加一个术语时,该术语就不会整体出现。例如,如果我输入"<Angular>",则结果为""

如何在不使用"<>"的情况下显示用ng-bind-html括起来的单词,却得到相同的结果?

1 个答案:

答案 0 :(得分:0)

可能的解决方案是,如果只想显示为文本,则可以像这样对标签进行编码/解码。

<body ng-app="bindHtmlExample">
  <div ng-controller="ExampleController">
    <p ng-bind-html="myHTML"></p>
  </div>
</body>

在控制器中:

(function(angular) {
  'use strict';
angular.module('bindHtmlExample', ['ngSanitize'])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.myHTML =
       'I am an <code>HTML</code>string with ' +
       '<a href="#">links!</a> and other <em>stuff</em>&lt;Angular&gt;';
  }]);
})(window.angular);