teraz mam rura niestandardowych utworzonych nazwie CurrConvertPipe
Jak zadeklarować globalnie rurę do wykorzystania w różnych modułach?
import {Pipe, PipeTransform} from '@angular/core';
import {LocalStorageService} from './local-storage';
@Pipe({name: 'currConvert', pure: false})
export class CurrConvertPipe implements PipeTransform {
constructor(private currencyStorage: LocalStorageService) {}
transform(value: number): number {
let inputRate = this.currencyStorage.getCurrencyRate('EUR');
let outputputRate = this.currencyStorage.getCurrencyRate(localStorage.getItem('currency'));
return value/inputRate * outputputRate;
}
}
muszę to wykorzystać w dwóch różnych modułów,
(i) Module1
(ii) Module2
Kiedy importować w Module1 i Module2 mówi błąd mówiąc, że powinien być zadeklarowany w module wyższego poziomu.
więc mam zadeklarowane wewnątrz app.module.ts
import './rxjs-extensions';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CurrConvertPipe } from './services/currency/currency-pipe';
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
AppRoutingModule,
Module1,
Module2
],
declarations: [
AppComponent,
CurrConvertPipe
],
providers: [
],
bootstrap: [AppComponent]
})
export class AppModule { }
Ale kiedy go używać w Module1, to zgłasza błąd Rura „currConvert” nie została znaleziona
@Sajeetharan app.module _imports_ 'Module1' i' Module2', więc potok jest * nie * importowany w tych modułach. Jeśli zaimportujesz 'SharedModule' w' Module1', to rura zostanie zaimportowana w 'SharedModule' i eksportuje do' Module1' – Ledzz