#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