Angular2仅在特定值或布尔值为true时使用排序管道

Com*_*ode 5 angular2-directives angular2-template angular

我的标记看起来像这样:

 <li *ngFor="let user of usersList | orderBy : ['name']; let i = index;">
Run Code Online (Sandbox Code Playgroud)

那么无论如何只有当某个布尔值为真时才应用orderBy管道?

Kev*_* Le 3

怎么样

<li *ngFor="let user of usersList | orderBy : [value ? 'name' : '']; let i = index;">
Run Code Online (Sandbox Code Playgroud)

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

*编辑

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