2017-02-05 17 views
0

私は3つのモジュールを持つ角度2のプロジェクトを持っています。 AppModule、共有モジュール、および遅延ロードモジュール。両方のモジュール(lazy loadedとapp)に共有モジュールをインポートして、両方が共有モジュールによって提供されるパイプなどを使用できるようにします。これは可能ですか?遅延ロード角2モジュール

私は試しましたが、共有モジュールが既に読み込まれているとエラーが表示されます。また、AppModuleでのみロードすることができますが、遅延ロードされたモジュールは提供された要素にアクセスできません。

角度モジュールを誤解していますか?

答えて

0

はい、あなたは怠惰と非遅延の両方のモジュールの

アプリ/共有/ shared.module.ts

import { NgModule } from '@angular/core'; 
import { MustSharedService } from './must-shared.service'; 

@NgModule({ 
    providers: [MustSharedService] 
}) 
export class SharedModule {} 

アプリ/ app.module.tsを共有NgModuleを使用することができます

import { SharedModule } from './shared/shared.module'; 

@NgModule({ 
    imports: [ 
    SharedModule, 
    ... 
    ], 
}) 
export class AppModule {} 

アプリ/怠惰/ lazy.module.ts

任意のサービスから、例えば、あなたは2モジュールで利用可能なSharedModuleで提供します。

私は、[このドキュメント](https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-を参照したいのですが、このデモhttps://plnkr.co/edit/L2ypUQZiltSPXnLlxBoa?p=preview

+0

を参照してください。 Why-bad)は、おそらくSharedModuleにサービスを提供することは悪い考えであると指摘しています。これにより、AppModuleとLazyModuleはMustSharedServiceの異なるインスタンスを持ちますが、これはおそらくあなたが望むものではありません。 – Stephanie

関連する問題