2

私はいくつかの「もの」を行うカスタムパイプを持っています

@Pipe({name: 'doSomethingAwesome'})
export class DoSomethingAwesomePipe: implements PipeTransform 
{...}

次に、モジュールごとに2 つのモジュールModule1,があり、宣言配列は次のようになります。Module2

declarations: [DoSomethingAwesomePipe,...]

アプリケーションを起動すると、次のエラーが表示されます。

metadata_resolver.js:369Uncaught エラー: タイプ DoSomethingAwsomePipe は、2 つのモジュールの宣言の一部です: Module1 と Module2! Module1 と Module2 をインポートする上位のモジュールに DoSomethingAwsomePipe を移動することを検討してください。また、DoSomethingAwsomePipe をエクスポートしてインクルードする新しい NgModule を作成し、その NgModule を Module1 と Module2 にインポートすることもできます。

だから私はそれが説明していることを正確に行いPipesModule、このように設定したモジュールの宣言でa を作成しますdeclarations: [DoSomethingAwesomePipe,...]

Module1次に、このモジュールを両方にインポートするとModule2、次のエラーが発生します。

zone.js:388 未処理の Promise 拒否: テンプレート解析エラー: パイプ 'doSomethingAwesome' が見つかりませんでした ("

私は本当に困惑しています。代わりにインポートをルートモジュールに移動しようとしましたが、どこにも行きませんでした。

どんな助けにも感謝します。

ありがとう

4

1 に答える 1

3

からエクスポートDoSomethingAwesomePipeしてからPipesModule、 および にインポートPipesModuleする必要がModule1ありModule2ます。

...
declarations: [DoSomethingAwesomePipe,...]
exports: [DoSomethingAwesomePipe]
...
于 2016-10-26T20:35:43.323 に答える