首页 > 解决方案 > 如何在 ng-repeat 中将响应中的 HTML 显示为 HTML

问题描述

我有 n 条来自后端的记录作为数组中的 HTML。我需要在我的视图中将 HTML 响应显示为 HTML。我试过ng-bind-html了,但它需要最后一个值。需要帮助。

  $scope.res=  "data": [
            {
              "jd": "<p>this jd1</p>"
            },
            {
              "jd": "<li>this jd2</li>"
            },
            {
              "jd": "<ul>this jd3</ul>"
            },
            {
              "jd": "<p>this jd4</p>"
            }
          ]
        }

html:

 <div ng-repeat="item in res">
    <div ng-bind-html ="item.jd">
    </div>

标签: angularjsng-bind-html

解决方案


您可以使用 $sce.trustAsHtml。请参阅此处的文档。

你可以做的是:

在你的控制器中添加这一行:

$scope.trustAsHtml = $sce.trustAsHtml;

并像这样更新您的 HTML:

<div ng-bind-html ="trustAsHtml(item.jd)">

请注意,您可能应该开始使用 Angular 6 而不是 AngularJS


推荐阅读