【发布时间】:2017-03-02 21:36:48
【问题描述】:
我有一个带有子模块的 Angular2 应用程序:
├───app (module)
│ ├───authentication (module)
│ │ ├───components
│ │ │ ├───login
│ │ │ ├───sign-in
│ │ │ ├───sign-up
│ │ │ ├───socials-callback
│ │ │ └───socials-sign-in
│ │ ├───models
│ │ └───services
│ ├───components
│ │ └───nav-bar
│ ├───home (module)
│ ├───shared (module)
│ │ ├───components
│ │ │ └───search-dropdown
│ │ └───services
│ └───user (module)
│ ├───models
│ └───services
每个组件都在module_name.module.ts 文件(它们的模块)中声明。
每个模块文件都导入到app.module.ts 文件中。
这是我的app.module.ts 文件:
import { BrowserModule } from '@angular/platform-browser';
import ...
import { SharedModule } from './shared/shared.module';
@NgModule({
imports: [
AppRoutingModule,
...
SharedModule
],
declarations: [
AppComponent
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
我的shared.module.ts 文件:
import { NgModule } from '@angular/core';
import ...
import { SearchDropdownComponent } from './components/search-dropdown/search-dropdown.component';
@NgModule({
imports: [
CommonModule
],
declarations: [
SearchDropdownComponent
]
})
export class SharedModule { }
当我尝试从我的应用模块的模板访问 SearchDropdownComponent 时,我收到一条错误消息,告诉我没有与之对应的组件。
但是当我直接在我的 app.module.ts 文件中添加 SearchDropdownComponent 导入时,它可以工作。
难道不能访问子模块的组件吗? 我做错了什么?
【问题讨论】:
标签: angular import module components