如何在AngularJS中显示来自json列表的html?

时间:2014-07-26 13:56:36

标签: angularjs ng-bind-html

有一组json信息,如

[
    {
    "title":"Title 1",
    "description":"<p>Some HTML</p>"
    },
    {
    "title":"Title 2",
    "description":"<p>Some HTML</p><p>More HTML</p>"
    }
]

如何在模板中显示html。目前,html未被解码。 我尝试使用下面的代码,但它不起作用。

{{item.title}}
<div data-ng-bind-html='item.description'></div>

控制器看起来像

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

searchApp.controller('SearchCtrl', function ($scope, $http) {
  $http.get('search-json').success(function(json) {
    $scope.item = json.data;
    $scope.orderProp = 'title';
  });
});

谢谢

1 个答案:

答案 0 :(得分:1)

添加ngSanitize,注入$ sce然后在js中

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

和html

<span>{{item.title}}</span>
<div data-ng-bind-html="getHtml(item.description)"> <div>