首页 > 解决方案 > 是否有相当于 Angular 1 $filter('orderBy') 的 Angular 8

问题描述

我是 angular 新手,想知道$filter('orderBy')angularJS 控制器中使用的等价物。

AngularJS 代码:

$scope.itemsSorted = $filter('orderBy')($scope.newFilteredData, 'page_index');

标签: javascriptangulartypescriptangular8

解决方案


来自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);
    });
}

推荐阅读