[英]Understanding angular module imports
我正在研究一個在其某些組件中使用FormsModules功能的舊式庫,因此FormsModule在LibraryModule級別導入,如下所示:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [
LabelButtonPrimaryComponent,
TextAreaComponent,
TextInputComponent,
],
imports: [
CommonModule,
FormsModule
]})
export class IronFrameworkModule { }
當我對庫進行擴容/打包時,然后將其安裝在其他一些有角度的應用程序中,我仍然需要在Application AppModule中導入FormsModule,以使IronLibrary中的組件正常工作。
這是為什么?
一個Module
才能被看到和被別人利用Module
,它必須在@NgModule類裝飾進口,而且只對模塊可見的,所以你的情況FormModule
才可見IronFrameworkModule
,而不是由可見AppModule
。然后有兩個選擇:
就像您所做的一樣:將FormModule
導入到FormModule
以便AppModule
現在可以看到AppModule
從IronFrameworkModule
導出FormModule
,以便無論哪個Module
導入IronFrameworkModule
, FormModule
也將對他們可見以供使用
另外,您應該創建一個包含所有模塊,組件,指令...的Shared Module
這些模塊將被重用。 然后,您只需要將該模塊導入其他模塊即可,它將代碼集中化,因此更易於維護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.