简体   繁体   English

Angular 10 中主要组件内的延迟加载模块

[英]lazy load module inside main component in Angular 10

I got two modules in my application one is the app.module and another one is user.module which gets lazy-loaded.我的应用程序中有两个模块,一个是app.module ,另一个是延迟加载的user.module On the app.module I got a sign-in component, sign-up component and main component.app.module我有一个sign-in组件、 sign-up组件和main组件。 The main.component is the component consisting of a navbar and a sidebar. main.component是由导航栏和侧边栏组成的组件。 I want every component inside user.module to load inside the main.component .我想每一个组件内部user.module到里面加载main.component But I'm getting error in console Error: Cannot match any routes. URL Segment: 'user/home'但是我在控制台中收到错误Error: Cannot match any routes. URL Segment: 'user/home' Error: Cannot match any routes. URL Segment: 'user/home' . Error: Cannot match any routes. URL Segment: 'user/home'

在此处输入图片说明

app.routing应用路由

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 { }

user.routing用户路由

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 { }

You should import and export the UserRoutingModule in UserModule .您应该在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM