当字段是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
字段不是。
为什么会发生这种情况以及如何对这个进行升序和降序排序?
答案 0 :(得分:0)
如有疑问,请更改该行以匹配其他行。
<td style="border-right:none">{{renderHtml(data.competencyDescription)}}</td>
然后为了确保呈现HTML,请将以下内容添加到控制器中:
$scope.renderHtml = function(html_code)
{
return $sce.trustAsHtml(html_code);
};
不要忘记将$ sce添加到$ scope等旁边的控制器顶部......