2017-01-07 49 views
0

上午進口想了解angular2模塊,
在我的應用程序的模塊成爲一個大的模塊,所以我計劃在不同的sub-modules將其分離出來,然後用root module連接。
因此,我將我的sub-modules的所有常見依賴項模塊導入root-module本身。但是當我編譯應用程序得到錯誤can't find module
Anauglar2子模塊來使用這根模塊

小孩子模塊(TransactionModule)

根模塊(的AppModule)

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { FormsModule } from '@angular/forms'; 
import { HttpModule } from '@angular/http'; 
import { routing, routedComponents } from './app.routing'; 

import { AppComponent } from './app.component'; 
import { RootComponent } from './root.component'; 

import {DataTableModule,SharedModule, DropdownModule,AutoCompleteModule, GrowlModule, DialogModule, ButtonModule, CalendarModule, CheckboxModule, PanelModule, FieldsetModule, TooltipModule, TabViewModule, InputMaskModule} from 'primeng/primeng'; 

//my-modules 
import {TransactionModule} from '../app/transaction/transaction.module' 


@NgModule({ 
    declarations: [ 
    RootComponent, AppComponent 
    ], 
    imports: [ 
    BrowserModule, 
    FormsModule, 
    HttpModule, 
    OverlayPanelModule, 
    GrowlModule, 
    DialogModule, 
    ButtonModule, 
    DataTableModule, 
    SharedModule, 
    DropdownModule, 
    AutoCompleteModule, 
    CalendarModule, 
    ConfirmDialogModule, 
    CheckboxModule, 
    PanelModule, // This module is used in RWTxnBillInfoComponent sub module's template 
    FieldsetModule, 
    TooltipModule, 
    TransactionModule 
    ], 
    providers: [ 
    ], 
    bootstrap: [RootComponent] 
}) 
export class AppModule { } 

在這裏,我在root-module進口PanelModule本身和我不能使用那在我的Child-module
如果我在child-module中添加相同的PanelModule,那麼它可以工作,但似乎是多重導入。
任何人都可以糾正我以正確的方式做到這一點嗎?

回答

1

如果要在「TransactionModule」中訪問「PanelModule」組件和服務,則必須在「TransactionModule」中導入它。

而且它的確定,如果是進口在不同的其它模塊一個模塊...

你也需要出口組件,並要在其他模塊中使用的服務...

+0

劑量它如果我還將面板模塊導入其他不同的模塊,不會導致'PanelModule'重複? –

+0

angular2如何在準備用於生產的包裝時避免重複? –

+0

不,它總是會有每個模塊的單個副本,它只是依賴注入,就像我們爲創建的模塊所做的有角度的一樣... –