我创建了这个自定义管道:
@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
数组长度始终为零。从管道返回的控制台语句显示填充了对象的数组。为什么数组看起来是空的?
答案 0 :(得分:1)
只需添加括号,如下所示。这会将项目发送到管道,并将结果发送回ngFor循环。
<tr *ngFor="let item of ( items | orderBy:'title')" class="myclass">
请参阅:Angular Offiical Documentation搜索“ ngfor”以查看示例。