排序过滤器 'orderBy' 在 AngularJS 中不起作用

Sorting filter 'orderBy' doesn't work in AngularJS

我有一个包含三列的 table 列表。可以对所有列进行上下排序。当您单击 -Tag 时,列表将排序,但我收到错误消息:

Error: $injector:unpr Unknown Provider

Unknown provider: orderbyFilterProvider <-

这是 Ctrl:

var orderby = $filter('orderby');

$scope.sortType = '-maxAge';
$scope.sortReverse = false;

$scope.order = function (sortType, sortReverse) {
   $scope.nameslist = orderby($scope.nameslist, sortType, sortReverse);
};

视图(header):

...
<th>
  <a href="" ng-click="sortReverse = !sortReverse; order('fname',reverse)">
     Firstame
     <span ng-show="sortType=='fname' && !sortReverse" class="glyphicon glyphicon-triangle-bottom"></span>
     <span ng-show="sortType=='fname' && sortReverse" class="glyphicon glyphicon-triangle-top"></span>
  </a>
</th>
...

视图(table 列表):

<tr ng-repeat="item in filteredNames = (nameslist | orderBy: sortType:sortReverse)" class="show-cursor">
   <td>{{ item.fname }}</td>
   ...
</tr>

不知道哪里出了问题?!

您需要在控制器中使用驼峰式大小写的顺序By 而不是顺序by

var orderBy = $filter('orderBy');