2016-09-23 93 views
0

我目前正試圖清理我的項目結構,並且希望儘可能保持我的AppComponent清潔。我進口angular2材料在它自己的文件:如何在Angular2中爲多個模塊創建包裝模塊?

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,我可以只導入:

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裏面我如下使用它不必擔心添加個別模塊或提供者。

我試圖創建一個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 { 

} 

但我得到以下錯誤

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

回答