Angular 2 RC.5 General module cannot find pipes

I am updating my application to use the module structure, and I ran into some strange problem while trying to add my pipe component to the general module. From what I read, everything is set up correctly for me, so I must be missing nothing.

Error: Unhandled Promise rejection: Template parse errors: The pipe 'cmgTitleize' could not be found

I have BrowseModulethis module declare ProjectCardComponentwhich has a template that uses a pipe cmgTitleize. To provide access to TitleizePipe, I import my own SharedModule.

@NgModule({
  declarations: [
    ...,
    ProjectCardComponent
  ],
  imports: [
    ...,
    SharedModule
  ],
  providers: [
    ...
  ]
})

export class BrowseModule { }

SharedModuleimports PipesModule:

@NgModule({
  declarations: [
    ...
  ],
  exports: [
    ...
  ],
  imports: [
    ...,
    PipesModule
  ]
})

export class SharedModule { }

PipesModuledeclares and exports TitelizePipe:

@NgModule({
  declarations: [
    ...
    TitleizePipe
  ],
  exports: [
    ...
    TitleizePipe
  ]
})

export class PipesModule { }

Finally, a TitleizePipe is used to test sanity:

@Pipe({
  name: 'cmgTitleize'
})

export class TitleizePipe implements PipeTransform {
  ...
}
+4
source share
2

, PipesModule SharedModule

+4

"forRoot()" , :

@NgModule({
    exports: [
        MyPipesModule                   //<---------------- HERE
    ]
})
export class SharedModule { 
    static forRoot(): ModuleWithProviders {
        return {
            ngModule: SharedModule,
            providers: [
                MySingletonServices
            ]
        };
    }
}

:

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        SharedModule.forRoot()       // <------------
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }
+2

Source: https://habr.com/ru/post/1653384/


All Articles