是否有应用角度的顺序/顺序管道?

Saj*_*ran 5 pipe filter angular

我今天遇到了这个问题,我正在过滤活动的项目并仅显示过滤后的前 2 个项目,这是我的代码

<div *ngFor="let l of listings | slice:0:2 | filterByStatus:'ACTIVE'  ">
  <listing-item [listing]="l"></listing-item>
</div>
Run Code Online (Sandbox Code Playgroud)

它不起作用,但是当我更换管道的顺序时,它工作正常。

<div *ngFor="let l of listings | filterByStatus:'ACTIVE' | slice:0:2   ">
  <listing-item [listing]="l"></listing-item>
</div>
Run Code Online (Sandbox Code Playgroud)

这是预期的行为还是我们可以按任何顺序使用它?

Gün*_*uer 5

是的。在第一个示例中,
slice首先应用 并filterByStatus应用于 的结果slice
在第二个示例中,顺序是相反的。

您还可以使用括号来影响评估顺序,例如

(someobservable | async).items | slice:0:2 
Run Code Online (Sandbox Code Playgroud)