почему перенаправление на не работает в угловой маршрутизации?

#angularjs #angular-routing #angular-router

#angularjs #angular-маршрутизация #angular-маршрутизатор

Вопрос:

вот мой RouterModule, который я хочу перенаправить, пустой (первая страница) должен быть первым дочерним элементом основного компонента. когда я пытаюсь это сделать в браузере, он ничего не показывает, но когда я пытаюсь / web, он показывает мне эту страницу.

 export const rootRouterConfig: Routes = [
{ path: '', redirectTo: '/web', pathMatch: 'full' },
{ 
path : '',
component : MainComponent,
children: [

  {
    path : 'web',
    loadChildren: './shop/shop.module#ShopModule'
  },
  { 
    path: 'pages',
    loadChildren: './pages/pages.module#PagesModule'
  },
  { 
    path: 'blog',
    loadChildren: './blog/blog.module#BlogModule'
  }
]
},
{ 
  path: '**', 
  redirectTo: 'web'
 }
];
  

вот модуль магазина, я хочу перенаправить на первый маршрут и использовать в качестве главной страницы сайта

const routes: Маршруты = [

     { 
      path: '',

      component: HomeFiveComponent,

    },

    {
      path: 'left-sidebar/collection/:category',
      component: CollectionLeftSidebarComponent
    },
    {
      path: 'right-sidebar/collection/:category',
      component: CollectionRightSidebarComponent
    },
    {
      path: 'no-sidebar/collection/:category',
      component: CollectionNoSidebarComponent
    },
    {
      path: 'left-sidebar/product/:id',
      component: ProductLeftSidebarComponent
    },
    {
      path: 'right-sidebar/product/:id',
      component: ProductRightSidebarComponent
    },
    {
      path: 'no-sidebar/product/:id',
      component: ProductNoSidebarComponent
    },
    {
      path: 'col-left/product/:id',
      component: ProductColLeftComponent
    },
    {
      path: 'col-right/product/:id',
      component: ProductColRightComponent
    },
    {
      path: 'column/product/:id',
      component: ProductColumnComponent
    },
    {
      path: 'accordian/product/:id',
      component: ProductAccordianComponent
    },
    {
      path: 'left-image/product/:id',
      component: ProductLeftImageComponent
    },
    {
      path: 'right-image/product/:id',
      component: ProductRightImageComponent
    },
    {
      path: 'vertical/product/:id',
      component: ProductVerticalTabComponent
    },
    {
      path: 'search',
      component: SearchComponent
    },
    {
      path: 'wishlist',
      component: WishlistComponent
    },
    {
      path: 'compare',
      component: ProductCompareComponent
    },
    {
      path: 'cart',
      component: CartComponent
    },
    {
      path: 'checkout',
      component: CheckoutComponent
    },
    {
      path: 'checkout/success',
      component: SuccessComponent
    }
  ];

@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
 })
export class ShopRoutingModule { }
  

Комментарии:

1. Я думаю, вы не можете перенаправлять напрямую на дочерние элементы, сначала вы должны перенаправить на родительский, а затем на этот дочерний компонент

Ответ №1:

возможно, это старый вопрос, но у вас есть ‘/’ в вашем URL перенаправления, вы должны удалить это, и это сработает.

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

для других, которые могут наткнуться на этот вопрос, как я, всегда убедитесь, что перенаправление находится сверху.

Ответ №2:

Я думаю, вам нужно указать, куда его перенаправлять, в ‘дочерних элементах’. Здесь вы найдете фрагменты перенаправления. Это может вам помочь.

Комментарии:

1. я добавил модуль shop