0

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

@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">

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

4

1 回答 1

1

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

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

请参阅:Angular 官方文档搜索“ngfor”以查看示例。

于 2018-12-10T21:07:03.640 回答