2016-09-23 3 views
0

私は現在プロジェクト構造を整理しようとしています.AppComponentをできるだけクリーンに保ちたいと思っていました。私は、独自のファイルにangular2材料を輸入しています:どのように複数のモジュールに対してAngular2でラッパーモジュールを作成できますか?

import { NgModule } from '@angular/core'; 

// Material 
import { MdCardModule } from '@angular2-material/card'; 
import { MdButtonModule } from '@angular2-material/button'; 
import { MdInputModule } from '@angular2-material/input'; 
import { MdToolbarModule } from '@angular2-material/toolbar'; 
import { MdListModule } from '@angular2-material/list'; 
import { MdIconModule, MdIconRegistry } from '@angular2-material/icon'; 

export const MATERIAL_UI_MODULES = [ 
    MdCardModule, 
    MdButtonModule, 
    MdInputModule, 
    MdToolbarModule, 
    MdIconModule, 
    MdListModule 
] 
export const MATERIAL_UI_REGISTRIES = [ 
    MdIconRegistry 
] 

と、次のように私のAppControllerの内側に私はそれを使用しています:

const APP_PROVIDERS = [ 
    ...MATERIAL_UI_REGISTRIES 
]; 

const APP_MODULES = [ 
    ...MATERIAL_UI_MODULES, 
]; 

@NgModule({ 
    imports:APP_MODULES, 
    declarations: APP_DECLARATIONS, 
    bootstrap:[AppComponent], 
    providers: APP_PROVIDERS, 
}) 
export class AppModule { 

} 

が、私はちょうどインポートすることができMaterialModuleを作成する方法がありますし、個々のモジュールやプロバイダの追加について心配する必要はありません。

私はMaterialModule作成しようとしている:

@NgModule({ 
    imports:[ 
    ...MATERIAL_UI_MODULES, 
    ], 
    providers: MATERIAL_UI_REGISTRIES, 
}) 
export class MaterialModule { 

} 

と私のAppComponentにインポート:

@NgModule({ 
    imports:[ 
    //...MATERIAL_UI_MODULES, 
    MaterialModule, 
    FormsModule, 
    BrowserModule, 
    routing, 
    ComponentsModule 
    ], 
    declarations: APP_DECLARATIONS, 
    bootstrap:[AppComponent], 
    providers: APP_PROVIDERS, 
}) 
export class AppModule { 

} 

をしかし、私はあなたがSharedModuleを使用することができ、次のエラー

zone.js:355 Unhandled Promise rejection: Template parse errors: 
'md-card-title' is not a known element: 
1. If 'md-card-title' is an Angular component, then verify that it is part of this module. 
2. If 'md-card-title' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to 
suppress this message. (".... 
+0

は、あなたが尋ねる前にMaterialModuleを作成してみましたか? – micronyks

+0

@micronyks私にはエラーがありますが(私はこれを含む質問を更新しました) – jonnie

+0

あなたは 'sharedModule'について何か知っていますか? – micronyks

答えて

関連する問題