不使用html值

时间:2015-05-20 08:38:56

标签: javascript angularjs html5 sorting

当字段是html值时,我有关于angularjs orderby的问题。

这是我的代码:

<tr data-ng-repeat="data in competencyReport | orderBy:sortOrder:reverse">
  <td style="border-right:none"><span data-ng-bind-html="data.competencyDescription |rawHtml"></span></td>
  <td style="border-right:none;border-left:none;width:100px">{{data.grade}}</td>
  <td style="border-right:none;border-left:none;width:100px">{{data.averageScore}}</td>
  <td style="border-right:none;border-left:none;width:30px">{{data.percentage.toFixed(2)}}</td>
  <td style="border-left:none;width:200px">
    <div class="progress">
        <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="{{data.percentage.toFixed(2)}}" aria-valuemin="0" aria-valuemax="100" data-ng-style="showProgress(data.percentage)">
            <span class="sr-only">{{data.percentage.toFixed(2)}} % Complete (success)</span>
        </div>
    </div>
  </td>
</tr>

这是问题

<td style="border-right:none"><span data-ng-bind-html="data.competencyDescription |rawHtml"></span></td>

data.competencyDescription是HTML值

所有其他字段可以按升序和降序排序,但只有competencyDescription字段不是。

为什么会发生这种情况以及如何对这个进行升序和降序排序?

1 个答案:

答案 0 :(得分:0)

如有疑问,请更改该行以匹配其他行。

<td style="border-right:none">{{renderHtml(data.competencyDescription)}}</td>

然后为了确保呈现HTML,请将以下内容添加到控制器中:

$scope.renderHtml = function(html_code)
{
    return $sce.trustAsHtml(html_code);
};

不要忘记将$ sce添加到$ scope等旁边的控制器顶部......