1
在项目中,我有一个自定义管道过滤列表:使用自定义管道和异步管一起
@Pipe({name: 'filterList'})
export class FilterListPipe implements PipeTransform {
transform(value: string[], arg: string[]): any {
if (!value) return value;
return value.filter(el => !arg.includes(el));
}
}
我使用这条管道如下:
<md-select placeholder="Grupos" (change)="changeGroup($event)">
<md-option
*ngFor="let group of (allGroups | async) | filterList : (userDetail | async)?.groups"
[value]="group">
{{ group }}
</md-option>
</md-select>
的问题是我收到的FilterListPipe引发的错误:
arg为null
所以这是行不通的:
let group of (allGroups | async) | filterList : (userDetail | async)?.groups
我可以以某种方式使用异步的结果作为我的自定义管的参数传递? 或者我应该订阅观察到在我的课,并创建另一个类变量?
由异步管道完成,在自定义管道之前传递异步意味着首先观察者已订阅,并且您正在使用管道 – Jassi