Лучший способ решить эту проблему - иметь общий, Общий модуль . Это обычный шаблон в Angular.
Пример структуры папки / приложения:
app
├── home
│ ├── home.component.ts
│ ├── home.module.ts
│ └── ...
├── shared
│ └── shared.module.ts
├── app.module.ts
└── ...
Затем вы объявляете и экспортируете компоненты, каналы, директивы, модули и т. Д. c в shared.module * 1009. * что понадобится несколько других модулей .
shared.module.ts
import { NgModule } from '@angular/core';
@NgModule({
declarations: [
/* declare it once, here */
CurrencyFormatPipe
],
exports: [
/* then export it */
CurrencyFormatPipe
]
})
export class SharedModule { }
Все остальные ваши модули просто импортируют ваш shared.module и смогут использовать все, что разделяет модуль export .
app.module.ts
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
/* import your shared module here */
SharedModule,
IonicModule.forRoot({ animated: true, mode: 'ios' }),
AppRoutingModule,
ComponentsModule,
BrowserAnimationsModule,
ChartsModule,
AngularFireModule.initializeApp(environment.firebaseConfig),
AngularFirestoreModule,
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
И затем вы также можете импортировать его в ваш home.module.ts
@NgModule({
declarations: [/* other imports */],
entryComponents: [],
imports: [
/* import your shared module here, you will have access to the currency pipe now */
SharedModule
],
})
export class AppModule {}
Надеюсь, это поможет. Вот Angular документы об общих модулях.