2016-11-14 13 views
2

フィーチャモジュールの作成についてこのチュートリアルを読んでいます:https://johnpapa.net/introducing-angular-modules-feature-modules-2/なぜ、フィーチャモジュールはAngularJSの共通の依存関係をエクスポートする必要があります

このチュートリアルではFormsModuleshared.module.tsでインポートしてエクスポートしました。何故ですか ?

なぜshared.module.tsCommonModuleをエクスポートします。何故ですか?

また、私はすべてのSharedModuleのインポートをエクスポートする必要がありますか?

お礼

+0

共有モジュールは、必要に応じてすべてのモジュール間で共有されるモジュールです。したがって、モジュール宣言でそれを具体化することなく他のモジュールで使用することができます。 –

答えて

1

インポートモジュールでもインポートする必要はありません。 私はそのモジュールを使用して通常CommonModuleFormsModuleを使用する必要があると仮定し、この方法でShardModuleimports: []に追加するだけです。

+0

なぜそれらをエクスポートする必要がありますか? "SharedModule"をインポートする際に、DIマシーンがFormsModuleに依存してSharedModuleで使用できるようにしてはいけませんか? SharedModuleをインポートするモジュールはどれも、SharedModuleの内部依存関係であるFormsModuleを気にしますか? – mp3por

+0

内部依存関係のみの場合は、エクスポートしないでください。それをエクスポートすることは、 'SharedModule'が常に' CommonModule'と 'FormsModule'と一緒に使用され、ユーザが3つではなく1つのインポートを必要とすることが予想される場合、ユーザの便宜のためだけです。 –

+0

しかし、なぜユーザはインポートする必要がありますか? SharedModuleをインポートする際のCommonModuleとFormsModule?それらはSharedModuleの依存関係ですか? DIは明示的に「エクスポート」せずに自動的にインポートするべきではありませんか?これは、私のSharedModuleのすべての "imports"をエクスポートする必要があることを意味しますか? – mp3por

関連する問題