Angular orderBy在指令中过滤

时间:2013-05-30 13:43:28

标签: angularjs angularjs-directive

我想在指令中使用Angular过滤器,但我似乎无法弄清楚什么是todo。我有: <tr ng-repeat="row in dataset | filter:searchon | orderBy:sorton ">

我将sorton作为一个独立的范围变量,并在点击时更改其值。

  .directive('gbsdatatable', function () {
return {
    restrict: 'A',
    transclude: false,
    replace: false,
    scope: {
      dataset: '=',
      searchon: '=',
      exportcsv: '=',
      pagination: '=',
      colmenu: '=',
      sorton: "="
    },

fiddle here - 请注意第23行的过滤器

1 个答案:

答案 0 :(得分:4)

使用以下作为模板,

<tr ng-repeat=\"row in dataset | filter:searchon | orderBy:predicate:reverse \">

predicate这里是您要订购的列名。

reverse可以是true或false,具体取决于它的顺序。

您还需要将ng-click绑定到<td>

内的<thead>元素
ng-click="predicate = 'comp'; reverse=!reverse"

点击后,predicate设置为comp,这是列的名称,reverse设置为!reverse

Working Fiddle here.