【问题标题】:LoadChildren navigate to specific route Angular 6LoadChildren 导航到特定路线 Angular 6
【发布时间】:2020-05-15 14:06:29
【问题描述】:

app.route 配置中,我们有以下路由:

   {
        path: 'homedetails',
        loadChildren: '../app/home/home-details/home-details.module#HomeDetailsModule',
        data: { preload: true, paramKey: 'homekey', paramType: 'number' },
        canActivate: [ParamsGuard]
      },

在延迟加载的模块中主页详细信息路由有

const routes: Routes = [{
  path: '',
  component: HomeComponent,
  // canActivate: [AuthGuard],
  children: [
    {
      path: 'Home-properties',
       loadChildren: '../../../app/Home/Home-details/Home-property/Home-property.module#HomePropertyModule',
    },
    {
      path: 'access',
      component: AccessComponent,
      resolve: { 'info-message': InfoMessageResolver }
    },
      {
      path: '',
      redirectTo: 'access',
      pathMatch: 'full'
    }
  ],
}];

问题是当 homedetails 路径加载延迟加载的模块时,它总是根据业务需求导航到默认路径“访问”,需要加载主页属性而不是默认的“访问”路径。

Load Children 总是加载默认导航而不是提供的路线。

感谢任何建议和解决方案。

【问题讨论】:

    标签: angular module routing lazy-evaluation loaded


    【解决方案1】:

    首先,您应该将重定向作为第一条路线。 其次,您被重定向到 access 路由,因为您在路由中指定了它

    {
        path: '',
        redirectTo: 'access',
        pathMatch: 'full'
    }
    

    正如您提到的access 是默认路径,显然它会转到该路径,因为它是一个空的子路径。如果你真的想去Home-properties 路由那应该是你的重定向路径

    【讨论】:

      【解决方案2】:

      在这里你可以像这样放置主页属性

      {
            path: 'Home-properties',
            loadChildren: '../../../app/Home/Home-details/Home-property/Home-property.module#HomePropertyModule',
            pathMatch: 'full',
       },
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多