如何在角度js中解析字符串中的html标签

时间:2015-07-09 11:53:45

标签: angularjs

在控制器中我有一个变量叫$ scope.question。

$scope.question = "Hi this is <br/> book";

在html页面中访问此变量,如{{question}}。

<div class="question">
        1. {{question}}
</div>

我希望输出带换行符...但它显示为字符串...如何解析html标签。

2 个答案:

答案 0 :(得分:11)

您应该使用ng-bind-html指令。要利用它,你需要:

//1. given
.controller('AppController', [
  function() {
   $scope.SomeHtml = '<b>some html</b>';


//2. use ng-bind
 <div ng-bind-html="SomeHtml"></div>

查看演示from official AngularJS documentation on plnkr.co

答案 1 :(得分:0)

如果我们的文本包含一些html内容,那么我们必须在angular js中使用ng-bind-html指令,否则我们的html内容将不会被解析并照原样呈现。

示例:

如果我们的文字是

  $scope.Val = "<span> Something </span>"

,我们将此文本写在大括号内,如下所示:

  <div> {{Val}}  </div>

然后将按原样呈现文本,即

因此,为了解析此html内容,我们必须将其编写如下:

  <div ng-bind-html="Val"></div>

现在,文本将呈现为Something。

注意:确保在您的应用程序中包括ngSanitize模块,例如:

  var app = angular.module('myApp', ['ngSanitize']);

希望有帮助...!