2017-03-03 5 views
1

ルートモジュール(AppModule)の下に2つのサブモジュール(ClientModuleとAdminModule)があります。Angular2ルートモジュールで共通コンポーネントを宣言する方法

私は両方の子コンポーネントで使用する共通のライブラリコンポーネント(ファイルアップローダ)を持っています。

「アプリ・ファイル・アップローダー」の角度成分である場合だから私は単純に、そのことを確認、その後、私はエラーを得た、

をルートモジュールに共通ライブラリ・コンポーネントを宣言し、子モジュールでそれを使用しますこのモジュールの一部分は です。

そして、私が各サブモジュールでそれが動作すると宣言すれば、それは動作します。

しかし、すべての子モジュールで使用できるように、共通モジュールをルートモジュールで宣言したいだけです。出来ますか?もしそうなら、それをどうやるの?

//ルートモジュール

@NgModule({ 
    imports: [ 
    ... 
    ClientModule, 
    AdminModule, 
    ], 
    declarations: [ 
    FileUploaderComponent //(x) 
    ], 
    ... 
}) 
export class AppModule { } 

//ファイルアップローダー

@Component({ 
    selector: 'app-file-uploader', 
    templateUrl: './file-uploader.component.html', 
}) 
export class FileUploaderComponent { 

    public constructor() {} 
} 

答えて

3

あなたが別のモジュールからの宣言を使用したい場合は、他のモジュールをインポートする必要があります。その周りに方法はありません。各モジュールは依存関係を明確にする必要があります。 グローバルコンポーネント、ディレクティブ、またはパイプはありません。 サービスはグローバルにのみ提供できます。

関連する問題