2016-09-09 6 views
2

は私のルートAppModuleにインポートされています。 DashboardModuleのコンポーネントテンプレートでは、*ngForを使用します。 BrowserModule(正確にはCommonModuleBrowserModuleにインポートされている)で宣言されています。Angular2 RC6 - 私のサブモジュールにBrowserModuleをインポートする

BrowserModuleのインポートをルートモジュールのアプリケーションで1回宣言したいと思います。しかし、何かが動作していないと私はDashboardModuleにもそれをインポートする必要があります。インポート時にコメントアウトすると、コンソールにエラーが表示されますCan't bind to 'ngForOf' since it isn't a known property of ...

ここには、現在作業中のプランカーがあります:http://plnkr.co/edit/73SYTnsMJxoVl5OSvWiF?p=preview(コンソール使用のためにChromeで最適な表示)

ファイルsrc/dashboard/dashboard.module.ts - コメント行18(BrowserModuleをインポート中)です。コンソールにエラーが表示されます。

+1

サブモジュールに 'BrowserModule'をインポートしないでください。代わりに、 'CommonModule'をインポートしてください。 'CommonModule'は、' ngIf'や 'ngFor'のような一般的な指令に貢献します。 'BrowserModule'は' CommonModule'をインポートし、それを再エクスポートします。これがあなたのルートモジュールで 'ngFor'を使うことができる理由です。 –

答えて

2

BrowserModuleサブモジュールにインポートする必要があります。

BrowserModuleをルートモジュールに、CommonModuleをサブモジュールにインポートします。

Plunker example

他のモジュールでBrowserModuleをインポートしないでくださいまたhttps://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#q-browser-vs-common-module

参照してください。フィーチャモジュールと遅延ロードモジュールは、代わりにCommonModuleをインポートする必要があります。彼らには共通の指令が必要です。彼らは、アプリ全体のプロバイダを再インストールする必要はありません。

+1

絶対に右... – micronyks

1

NgModulesのドキュメントでは、ルートモジュールとCommonModuleをフィーチャーモジュールにインポートすると記載されています。

関連する問題