私は現在プロジェクト構造を整理しようとしています.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. ("....
は、あなたが尋ねる前にMaterialModuleを作成してみましたか? – micronyks
@micronyks私にはエラーがありますが(私はこれを含む質問を更新しました) – jonnie
あなたは 'sharedModule'について何か知っていますか? – micronyks