今私は、カスタムパイプiはModule1のとモジュール2にインポートすると異なるモジュールでグローバルにパイプを宣言する方法は?
(i) Module1
(ii) Module2
それはそれを言って、エラーを言って、私は2つの異なるモジュールでこれを使用する必要がCurrConvertPipe
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;
}
}
という名前作成しました上位レベルのモジュールで宣言する必要があります。
は、だから私は、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 { }
内で宣言しているが、私はModule1の中でそれを使用する場合、それはパイプ「currConvert」は
@Sajeetharan app.module _imports_ 'Module1'と' Module2'ので、pipeは*これらのモジュールでインポートされません。 'SharedModule'を' Module1'にインポートすると、パイプは 'SharedModule'にインポートされ、' Module1'にエクスポートされます。 – Ledzz