@angular2-material 2.0.0-alpha.8-2 バージョンを使用している angular2 アプリケーションがあります。すべて正常に動作します。ここで、マテリアル バージョンを最新の 2.0.0-alpha.9-3 にアップグレードすることにしました。GETTING_STARTEDに記載されている手順に従いました。以前に、以下のように個々のモジュールをインポートしました。
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
MdIconModule,
MdButtonModule,
MdCardModule,
MdCheckboxModule,
....
....
ただし、2.0.0-alpha.9-3 バージョンの変更ログには次のように記載されています。
「Angular Material は @angular2-material/... パッケージから @angular/material の下の単一のパッケージに変更されました。この変更に伴い、すべてのコンポーネントを含む新しい NgModule である MaterialModule があります。」
そこで、明示的にインポートされたマテリアル モジュールを削除し、次のように変更しました。
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
MaterialModule.forRoot(),
....
....
この変更後、次のエラーが発生します
「md-icon」は既知の要素ではありません:
- 「md-icon」が Angular コンポーネントの場合、それがこのモジュールの一部であることを確認してください。
- 「md-icon」が Web コンポーネントの場合、このメッセージを抑制するには、このコンポーネントの「@NgModule.schemas」に「CUSTOM_ELEMENTS_SCHEMA」を追加します。
個々のモジュールを明示的にインポートする必要がありますか、または変更ログに記載されているように、MaterialModule にはすべてのコンポーネントが含まれており、個々のモジュールを明示的にインポートする必要はありませんか? 個々のモジュールをインポートするべきではない場合、エラーの原因は何ですか?