首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角选路开错元件

角选路开错元件
EN

Stack Overflow用户
提问于 2021-03-25 11:26:52
回答 1查看 585关注 0票数 2

我想要延迟加载一个模块,这样就不应该延迟加载进一步的模块。我设法使延迟加载工作,但它显示了错误的组件,即使路由是正确的。

如您所见,路径是正确的,因为我希望页面“推送运动”显示。然后,它向我展示了“客户端目标”组件。

app-routing.module.ts

代码语言:javascript
运行
复制
const LAYOUT_ROUTES = [navbarRoute, ...errorRoute];

const routes: Routes = [
    {
      path: 'admin',
      data: {
        authorities: [Authority.ADMIN],
      },
      canActivate: [UserRouteAccessService],
      loadChildren: () => import('./admin/admin-routing.module').then(m => m.AdminRoutingModule),
    },
    {
      path: 'account',
      loadChildren: () => import('./account/account.module').then(m => m.AccountModule),
    },
    {
      path: 'recommended-section',
      loadChildren: () => import('./entities/recommended-section/recommended-section.module').then(m=> m.RecommendedSectionModule),
    },
    {
      path: 'push-campaign',
      loadChildren: () => import('./entities/push-campaign/push-campaign.module').then(m=> m.PushCampaignModule),
    },
    {
      path: 'customer',
      loadChildren: () => import('./entities/customer/customer.module').then(m=> m.CustomerModule),
    },
    ...LAYOUT_ROUTES,
  ]

@NgModule({
  imports: [
    RouterModule.forRoot(routes,{ enableTracing: DEBUG_INFO_ENABLED }),],
  exports: [RouterModule],
})
export class AppRoutingModule {}

push-campaign.module.ts

代码语言:javascript
运行
复制
@NgModule({
  imports: [SharedModule, TargetingModule, PushCampaignRoutingModule, PushChannelModule, AppDeepLinkModule, AudienceModule, PushCampaignDeploymentModule],
  declarations: [
    PushCampaignComponent,
    PushCampaignDetailComponent,
    PushCampaignUpdateComponent,
    PushCampaignDeleteDialogComponent,
    PushCampaignPreviewComponent,
  ],
  entryComponents: [PushCampaignDeleteDialogComponent],
})
export class PushCampaignModule {}

targeting.module.ts

代码语言:javascript
运行
复制
@NgModule({
  imports: [SharedModule, ClientTargetingModule],
  declarations: [
    TargetingComponent,
    TargetingDetailComponent,
    TargetingUpdateComponent,
    TargetingDeleteDialogComponent,
    TargetingClientComponent,
  ],
  exports: [TargetingUpdateComponent],
  entryComponents: [TargetingDeleteDialogComponent],
})
export class TargetingModule {}

client-targeting.module.ts

代码语言:javascript
运行
复制
@NgModule({
  imports: [SharedModule, RouterModule.forChild(clientTargetingRoute)],
  declarations: [
    ClientTargetingComponent,
    ClientTargetingDetailComponent,
    ClientTargetingUpdateComponent,
    ClientTargetingDeleteDialogComponent,
  ],
  entryComponents: [ClientTargetingDeleteDialogComponent],
})
export class ClientTargetingModule {}

它为什么要这样做,我怎么才能解决它?

谢谢你提前提供帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-25 15:26:42

所以我修好了!正如我在评论中提到的那样,我添加了一个routing.module,但是它仍然不起作用.因此,我尝试了一下,最后通过更改push-campaign.module.ts中导入的顺序,最终成功地使它工作起来。

代码语言:javascript
运行
复制
@NgModule({
  imports: [SharedModule, RouterModule.forChild(pushCampaignRouterModule), TargetingModule, ...

为什么RouterModule.forChild()必须在所有其他导入模块之前?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66798542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档