我尝试了所有我看到的建议,但还是遇到了可怕的问题:Template parse errors: The pipe 'orderFilter' could not be found
在我的SharedModule.ts (导入MyComponent)中,我有:
import { OrderFilterPipe } from '../pipes/order-filter.pipe';
@NgModule({
...
declarations: [OrderFilterPipe];
...
管道代码(现在比较简单):
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({name: 'orderFilter'})
export class OrderFilterPipe implements PipeTransform {
transform(item: any): any {
return item.data;
}
}
在MyComponent.html中,我有:
{{item | orderFilter}}
我有点不知所措..除非我在实现中遗漏了一些特定于Angular 5的东西。有什么想法吗?
发布于 2019-01-01 02:10:26
请为您的管道尝试其他名称,您不能将您的管道命名为"filter“。
发布于 2019-01-02 12:01:56
当我们在共享模块文件中添加任何组件或指令时,因此在声明中添加该模块时,我们也需要添加到exports数组中。请参考以下代码:
import { OrderFilterPipe } from '../pipes/order-filter.pipe';
@NgModule({
declarations: [OrderFilterPipe],
exports: [OrderFilterPipe] // you need to add this line
})
发布于 2019-01-01 01:24:40
在这个最小的重现中,当我从app.module中的“声明”中删除管道时,我得到了同样的错误:https://stackblitz.com/edit/angular-wfi7v9
当我把它加回去时,维奥拉!一切正常。这让我相信错误出在使用您的管道模块的模块中。您是否记得将管道模块导入到MyComponent所在的模块中?
https://stackoverflow.com/questions/53992408
复制