[英]lazy load module inside main component in Angular 10
我的应用程序中有两个模块,一个是app.module
,另一个是延迟加载的user.module
。 在app.module
我有一个sign-in
组件、 sign-up
组件和main
组件。 main.component
是由导航栏和侧边栏组成的组件。 我想每一个组件内部user.module
到里面加载main.component
。 但是我在控制台中收到错误Error: Cannot match any routes. URL Segment: 'user/home'
Error: Cannot match any routes. URL Segment: 'user/home'
。
应用路由
import { MainComponent } from './main/main.component';
import { SignInComponent } from './sign-in/sign-in.component';
import { SignUpComponent } from './sign-up/sign-up.component';
const routes: Routes = [
{ path: 'sign-in', component: SignInComponent, pathMatch: 'full' },
{ path: '', redirectTo: 'sign-in', pathMatch: 'full' },
{ path: 'sign-up', component: SignUpComponent }
{
path: '',
component: MainComponent,
children: [
{
path: 'user',
loadChildren: () => import('./user/user.module').then(m => m.UserModule)
},
]
},
/* { path: '500', component: Error500Component },
{ path: '**', component: Error404Component }, */
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
用户路由
import { HomeComponent } from './home/home.component';
import { Routes, RouterModule } from '@angular/router';
import { FriendsComponent } from './friends/friends.component';
const routes: Routes = [
{
path: '',
children: [
{ path: 'home', component: HomeComponent },
{ path: 'friends', component: FriendsComponent }
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class UserRoutingModule { }
您应该在UserRoutingModule
中导入和导出UserModule
。
@NgModule({
declarations: [..],
imports: [UserRoutingModule],
exports: [UserRoutingModule],
providers: [..]
})
export class UserModule {}
一切正常,您是否在 main.component.html 中指定了 router-outlet ?
<router-outlet></router-outlet>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.