How to declare a pipe globally to use in different modules?

后端 未结 5 1899
鱼传尺愫
鱼传尺愫 2020-12-02 15:29

I have a custom pipe named CurrConvertPipe

import {Pipe, PipeTransform} from \'@angular/core\';
import {LocalStorageService} f         


        
5条回答
  •  清歌不尽
    2020-12-02 15:51

    Consider you have this structure:

    app 
     -shared
       -components
         -DateComponentModule.ts
       -pipes
         -DatesPipe
         -DatesPipeModule.ts
    
     -SharedModule.ts  
    

    When you are using DatesPipeModule in DateComponentModule.

    1. Declare and Export DatesPipe in DatesPipeModule

    2. Now Import DatesPipeModule directly into DateComponentModule.

    DatesPipeModule.ts

    import { DatesPipe} from './{your-path}';
    
    @NgModule({
      imports: [],
      declarations: [ 
        DatesPipe
      ],
      exports: [
        DatesPipe
      ]
    })
    export class DatesPipeModule{}
    
    

    DateComponentModule.ts

    import { DatesPipeModule} from './{your-path}';
    
    @NgModule({
      imports: [DatesPipeModule],
      declarations: [],
      exports: []
    })
    export class DatesPipeModule{}
    

    You can also export it from SharedModule and import it in DatesComponentModule.ts, but SharedModule will not load before pipes, so it throws an error.

提交回复
热议问题