首页 > 解决方案 > 在 Angular 6 中使用延迟加载时,路由不适用于不同的路由

问题描述

实际上,我在我的应用程序中建立延迟加载时遇到了问题。我正在使用角度 6。这是场景-

在我的 app-routing.module.ts 我有以下路线-

const appRoutes: Routes = [

  {
    path: '',
    redirectTo: 'dashboard', pathMatch: 'full'
  },
  {
    path:'home',
    loadChildren: './main/home/home.module#HomeModule'
  }

  { path: '**', redirectTo: '/404' }
];

在我的 home.module.ts 我有这条路线-

常量路线:路线= [

  {
    path: '',
    component: HomeComponent
  },
  {
    path:'list',
    component: ListComponent
  }

];

现在想像下面一样导航 -

  1. /home---> Home组件
  2. /list---> 列表组件

我可以导航到 HomeComponent 但无法导航到 ListComponent 。任何人都可以帮助我如何实现这一目标。谢谢

标签: angularangular-routing

解决方案


为了访问列表延迟加载的路由,唯一的方法是通过 home 路由 aka (localhost:4200/home/list)

const appRoutes: Routes = [

  {
    path: '',
    redirectTo: 'dashboard', pathMatch: 'full'
  },
  {
    path:'home',
    loadChildren: './main/home/home.module#HomeModule'
  },

  { path: '**', redirectTo: '/404' }
];

const routes: Routes = [

  {
    path: '',
    component: HomeComponent
  },
  {
    path:'list',
    component: ListComponent
  }

];

根据您提供的代码, home 模块下的所有组件都将以路由前缀 home 开头。启动应用程序后,您可以使用以下方式访问登录组件:

http//:localhost:4200/home/list


推荐阅读