Angular 角度8将管道注入另一管道不起作用

Angular 角度8将管道注入另一管道不起作用,angular,angular-pipe,angular-dependency-injection,Angular,Angular Pipe,Angular Dependency Injection,从Angular 7升级到Angular 8后,我的管道停止工作,出现错误: TypeError:undefined不可修改(无法读取属性符号(Symbol.iterator)) 10 |导出类APipe实现PipeTransform{ 11 | >12 |建造师( | ^ 13 |专用只读bPipe:bPipe, 14 |专用只读cPipe:cPipe{} 或有类似错误: Error: Found non-callable @@iterator 我的管道代码:

从Angular 7升级到Angular 8后,我的管道停止工作,出现错误:

TypeError:undefined不可修改(无法读取属性符号(Symbol.iterator))
10 |导出类APipe实现PipeTransform{
11 |
>12 |建造师(
|               ^
13 |专用只读bPipe:bPipe,
14 |专用只读cPipe:cPipe{}
或有类似错误:

Error: Found non-callable @@iterator
我的管道代码:

@管道({
名称:“aPipe”
})
导出类APipe实现了PipeTransform{
建造师(
专用只读bPipe:bPipe,
专用只读cPipe:cPipe){}
转换(someValue:any,args?:any):any{
如果(!someValue){
返回“-”;
}
如果(条件1){
返回此.bPipe.transform(someValue,…args);
}
否则{
返回此.cPipe.transform(someValue,…args);
}
返回“-”;
}
}
我必须在Angular8中将管道明确标记为
@Injectable()
,还是有什么问题?

编辑 在您的模块中提供:

管道是不可注射的。它们只是普通的类

这意味着,如果要将一个管道插入另一个管道,则可以使用

const cPipe = new CPipe(...);

这是错误的。您可以在组件、服务等中注入管道。这里有一个正在运行的stackblitz项目:
如果您选择将管道注入类,则必须在NgModule的providers数组中提供管道。
。不知道!()您是否将管道添加到模块的
providers
数组中?