【发布时间】:2016-10-24 13:25:32
【问题描述】:
我想让一个管道在所有应用程序中都可用。根据我在 Angular 文档和 Internet 中阅读的内容,如果我在根模块声明中声明了一个管道,它将使管道在所有应用程序中都可用。我有这个 AppModule 代码:
@NgModule({
imports: [ BrowserModule, NavbarModule],
declarations: [ AppComponent, TranslatePipe],
bootstrap: [ AppComponent],
})
export class AppModule { }
这对于子模块:
@NgModule({
imports: [ CommonModule],
declarations: [ NavbarMenuComponent],//<---Call the pipe in this component
})
export class NavbarModule { }
管道:
@Pipe({
name: 'translate',
pure: false
})
export class TranslatePipe implements PipeTransform {
constructor() { }
transform(value: string, args: any[]): any {
return value + " translated";
}
}
但是当我在 NavbarMenuComponent 模板上调用管道时,它会出现此错误:
'找不到管道“翻译”'
如果我在子模块声明中声明管道它可以工作,但我需要使管道全局,所以当应用程序长大时,我不需要在所有模块中声明这个管道(和其他全局管道) .有没有办法让管道全局化?
【问题讨论】:
标签: angular typescript