我是 angular 的新手,想知道等效于 angularJS 控制器中使用的$filter('orderBy')
。
AngularJS代码:
$scope.itemsSorted = $filter('orderBy')($scope.newFilteredData, 'page_index');
来自 Angular 文档:
Angular 不提供用于过滤或排序列表的管道。熟悉的开发人员 AngularJS将这些称为filter和orderBy。在 Angular 中没有等价物。
Angular团队和许多经验丰富的 Angular 开发人员强烈建议将过滤和排序逻辑移动到组件本身中。
您可以在组件中使用标准的Javascriptsort
函数,如下所示:
ngOnInit(): void {
this.source$.subscribe(data => {
this.sortedData = data.sort((a, b) => a.pageIndex - b.pageIndex);
});
}
谢谢大家。 我找到了解决方案并且工作正常。
let itemsSorted = this.newFilteredData.sort(function(a,b) {
return a.page_index - b.page_index;
});