Angular2 仅当特定值或布尔值为真时才使用排序管道

Angular2 Use sort pipe only when certain value or boolean is true

我的标记如下所示:

 <li *ngFor="let user of usersList | orderBy : ['name']; let i = index;">

那么是否只有当某个布尔值为真时才应用 orderBy 管道?

怎么样

<li *ngFor="let user of usersList | orderBy : [value ? 'name' : '']; let i = index;">

另一种选择是创建一个包装管道,它接受一个参数并有条件地使用 orderBy 管道。

*编辑

正如@OliverRenner 所述,orderBy 在 2.0 中不再由 Angular 提供。以上假设您已经编写了自己的 orderBy 实现。 参见 https://angular.io/docs/ts/latest/guide/pipes.html#!#no-filter-pipe

因为 orderBy 在 angular2 中不存在,你无论如何都需要一个自定义管道(如果你想使用管道的话)..因此你可以将布尔值传递到这个管道中,并且只在 true 时应用排序。