我试图理解angular2模块,
在我的应用程序中,模块变得很大,所以我打算用不同的sub-modules
将它分开,然后用root module
连接。
所以我将sub-modules
的所有常见依赖模块导入root-module
本身。但是当我编译应用程序时收到错误can't find module
。
子模块(TransactionModule)
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RWTxnTotalsComponent } from './txn.totals.component';
import { RWTxnBillInfoComponent } from './txn.billinfo.component';
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule],
exports: [
RWTxnTotalsComponent, // my component
RWTxnBillInfoComponent // my component, It used PanelModule inside of it templates.
],
declarations: [
RWTxnTotalsComponent,
RWTxnBillInfoComponent
],
providers: [],
})
export class 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 { }
我在PanelModule
本身导入了root-module
,我无法在Child-module
中使用它。
如果我在PanelModule
中添加相同的child-module
,那么它可以正常工作,但似乎是多次导入
任何人都能以正确的方式纠正我吗?
答案 0 :(得分:1)
如果要访问“TransactionModule”中的“PanelModule”组件和服务,则必须在“TransactionModule”中导入它。
没关系,如果你在不同的其他模块中导入一个模块......
您还需要导出要在其他模块中使用的组件和服务...