【发布时间】:2026-02-13 12:05:01
【问题描述】:
我有一个 app.routing 模块,我在其中加载不同的模块。 这个模块有自己的子路由等等。 例如,我用子路由创建了这个路由:
localhost:4200/usermgmt/create
我的问题是现在,当我输入
localhost:4200/create直接在浏览器中我可以直接访问child rout,它会全屏显示。
app-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { FullComponent } from './core/navigation/layouts/full/full.component';
import { BlankComponent } from './core/navigation/layouts/blank/blank.component';
export const Approutes: Routes = [
{
path: '',
component: FullComponent,
children: [
{ path: '', redirectTo: '/auth/login', pathMatch: 'full' },
{
path: 'starter',
loadChildren: () => import('./content/starter/starter.module').then(m => m.StarterModule)
},
{
path: 'usermgmt',
loadChildren: () => import('./core/usermanagement/usermanagement.module').then(m => m.UsermanagementModule)
},
{
path: 'realassets',
loadChildren: () => import('./content/privateassets/realassets/realassets.module').then(m => m.RealassetsModule)
},
]
},
{
path: '',
component: BlankComponent,
children: [
{
path: 'auth',
loadChildren: () => import('./core/authentication/authentication.module').then(m => m.AuthenticationModule)
}
]
},
{
path: '**',
redirectTo: '/auth/login'
}
];
例如现在的模块概述及其 ChildRoutes
import { Routes } from '@angular/router';
import { OverviewComponent } from './components/overview/overview.component';
import { RoleGuard } from '../authentication/guards/role.guard';
import { Roles } from '../authentication/models/roles';
import { CreateuserComponent } from './components/createuser/createuser.component';
import { FullComponent } from '../navigation/layouts/full/full.component';
export const UsermanagementRouting: Routes = [
{
path: '',
children: [
{
path: 'overview',
component: OverviewComponent,
canActivate: [RoleGuard],
data: {
expectedRole: Roles.Admin,
title: 'Basic Form',
urls: [{ title: 'Dashboard', url: '/dashboard' }, { title: 'Basic Form' }]
},
},
{
path: 'create',
component: CreateuserComponent,
canActivate: [RoleGuard],
data: {
expectedRole: Roles.Admin,
title: 'Basic Form',
urls: [{ title: 'Dashboard', url: '/dashboard' }, { title: 'Basic Form' }]
},
}
]
}
];
我怎样才能捕捉到这种行为,我可以在浏览器中输入 childrout?
非常感谢大家!!
【问题讨论】:
-
你能分享一个关于 stackblitz 的活生生的例子吗?
标签: angular routes nested-routes