【发布时间】:2020-03-12 12:42:12
【问题描述】:
嗨,我的父路由工作正常,但对于 chid 路由,它不会重定向,也不会出错
在 app.routing 中
const routes: Routes = [
{
path: 'card',
loadChildren: './cards/cards.module#CardsModule',
canActivate: [AuthGuard]
},
{
path: 'card/:id',
loadChildren: './cards/cards.module#CardsModule',
canActivate: [AuthGuard]
}]
在卡路由中:
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { Cardscomponent } from './cards.component';
import { AuthGuard } from '../_services/auth.guard';
import { CardDetailsComponent } from './card-details/card-details.component';
const routes: Routes = [
{ path: '', component: Cardscomponent,
children :[
{ path: ':id', component: CardDetailsComponent}
]
}
]
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class CardsRoutingModule { }
localhost:4200/card 正在工作 但 localhost:4200/card/1234 不工作,也没有出现任何错误,任何帮助...
【问题讨论】:
-
没有出现任何错误,没有进入详情页
-
您不必在父母中处理孩子的路线。尝试从父路由器中删除 'card/:id'
-
Removed card:id from parent router, url 形成为 localhost:4200/card/1234 但不进入 detailscomponent
-
path: 'id'应该是path: ':id' -
从父路由器中删除了 card:id,url 形成为 localhost:4200/card/1234 但不进入 detailscomponent -- 你在子组件中有一个 router-outlet。通常缺少路由器插座会导致此类问题[URL更改但组件未呈现]
标签: javascript angular