无法使用此结构重用此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/

10-09 21:42