无法使用此结构重用此dropdownDirective
,请帮助
每个页面以及标题组件中都有dropdown
。在这种情况下,我不知道如何导入dropdownDirective并在每个页面和块中使用dropdown函数
我的实验
1)当我尝试将dropdownDirective导入到app.module时,它在标头组件上工作,但在页面中不工作
2)当我尝试将dropdownDirective导入shared.module并将其导入到feature模块时,它正在处理所有页面组件,但不适用于标头组件
html
<app-header></app-header>
<app-sidebar></app-sidebar>
<router-outlet></router-outlet>
文件夹结构
--app
---header
header.components.ts
---footer
footer.components.ts
---pages
---dashboard
dashboard.modules.ts
---create
create.components.ts
******other pages
---product
product.modules.ts
---list
list.components.ts
******other pages
---shared
---dropdownDirective
dropdownDirective.ts
app.module.ts
最佳答案
要访问多个模块中的组件或指令,我们需要创建一个单独的公共模块,在这里您已经创建了共享模块。因此,在DropdownDirective
中声明SharedModule
并将其导出
@NgModule({
declarations: [
DropdownDirective
],
exports: [
DropdownDirective
]
})
export class SharedModule { }
现在,将
SharedModule
导入到AppModule
和功能模块中。关于javascript - Angular2 shared.module和指令可重用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57146740/