Javascript 在功能模块的组件中使用应用模块的组件

Javascript 在功能模块的组件中使用应用模块的组件,javascript,angular,dependency-injection,Javascript,Angular,Dependency Injection,我试图将角度源重构为多个功能模块。早些时候,源代码只有一个模块,所有组件都在该模块内声明。对于重构,我执行了以下步骤: 创建了一个功能模块 将组件从应用程序模块移动到功能模块。补充道 声明列表和导出列表中要素模块中的组件 已从应用程序模块中删除已移动组件的引用 已将功能模块导入应用程序模块 源代码已编译,但站点未加载。在控制台上,我可以看到它崩溃了,因为功能模块中的组件在其html上使用了来自应用模块的组件 <div class="col-md-12 full-width py-2">

我试图将角度源重构为多个功能模块。早些时候,源代码只有一个模块,所有组件都在该模块内声明。对于重构,我执行了以下步骤:

  • 创建了一个功能模块

  • 将组件从应用程序模块移动到功能模块。补充道 声明列表和导出列表中要素模块中的组件

  • 已从应用程序模块中删除已移动组件的引用

  • 已将功能模块导入应用程序模块

  • 源代码已编译,但站点未加载。在控制台上,我可以看到它崩溃了,因为功能模块中的组件在其html上使用了来自应用模块的组件

    <div class="col-md-12 full-width py-2">
            <app-organization-user-search (addClicked)="addParticipant($event)" (cancelClicked)="addingParticipants = false"></app-organization-user-search>
    

    我认为在功能模块中使用app模块中的组件不需要额外的步骤。我错过什么了吗

    增加: 下面的HTML来自移动的组件(我从应用程序模块移动到功能模块的组件),它使用应用程序模块中声明的应用程序组织用户搜索组件

    <div class="col-md-12 full-width py-2">
            <app-organization-user-search (addClicked)="addParticipant($event)" (cancelClicked)="addingParticipants = false"></app-organization-user-search>
    
    
    

    增加:
    对于所有正在寻找特定问题答案的人来说,解决方案是在接受答案的评论中

    要将一个模块拆分为多个模块,请注意正确导出和导入所有模块和组件:

    应用程序模块.ts*根模块

    @NgModule({
      declarations: [
        AppComponent,
      ],
      imports: [
        // angular
        BrowserModule,
        HttpClientModule,
        // splitted modules
        DiversityMattersModule,
        PreventingAirPolutionModule,
        PeacfullyRevolutionModule,
        // ...
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule {
    }
    
    多样性很重要。module.ts上面列表中的示例模块


    依赖于
    AppComponent
    的每个组件现在都可以导入
    AwesomeComponent

    您能给我们一些来自您模块的示例代码吗?所以新移动的组件在app模块中具有依赖性?正确吗?@Sudhakar,是的,移动的组件依赖于app中声明的组件module@DipenduPaul,哪一个是您的根模块?AppModule还是future module?您是否在App module中导入future module?能否重新启动cli?并确保组件及其SelectorTanks@Michael的名称正确。我已按照您的建议将功能模块导入App module。我了解App module的组件可以使用导出的组件功能模块的ent。但是功能模块中的组件可以使用应用模块中的组件吗?@DipenduPaul,不,它不能使用应用模块中的组件。如果您愿意,那么您可以创建一个公共模块,并将公共模块导入未来模块和应用模块。好的,这让我大开眼界。我将尝试您的解决方案并将其标记为答案。然后谢谢你的答复。