自定义管道阵列为空

custom pipe array empty

我创建了这个自定义管道:

@Pipe({ name: 'orderBy' })
export class OrderByPipe implements PipeTransform {
     transform(items: any[], orderBy: string): any[] {
        if (items && items.length > 1) {
            console.log('items -> ', items);
        }
        console.log('return -> items -> ', items);
        return items;
     }
 }

我在一个组件中使用它:

<tr *ngFor="let item of items | orderBy:'title'" class="myclass">

table 行显示正确,但在管道中 items 数组长度始终为零。来自管道的 return 的控制台语句显示了一个填充有对象的数组。为什么数组看起来是空的?

只需添加括号,如下所示。这会将项目发送到管道,并将结果返回到 ngFor 循环。

<tr *ngFor="let item of ( items | orderBy:'title')" class="myclass">

请参阅:Angular Offiical Documentation 搜索 "ngfor" 以查看示例。