Angular Lazy正在加载,再次加载相同的路线

问题描述

https://stackblitz.com/github/sandypm2020/BookStore

<ul class="leftNav">
  <li>
    <a routerLink="/books">Books</a>
  </li>
  <li>
    <a routerLink="/users">Users</a>
  </li>
</ul>
const routes: Routes = [
  {
    path: 'books',loadChildren: () => import('./book/book.module').then((m) => m.BookModule),},{
    path: 'users',loadChildren: () => import('./user/user.module').then((m) => m.UserModule),{ path: '',pathMatch: 'full',redirectTo: 'books' },];

我要使用延迟加载,我有以下路线和URLs。但是由于某些原因,当我去user时会再次加载books路线,有人可以帮忙为什么会这样吗?

解决方法

首先:将href更改为routerLink,如下所示:

<ul class="leftNav">
        <li>
          <a routerLink="/books">Books</a>
        </li>
        <li>
          <a routerLink="/users">Users</a>
        </li>
  </ul>

然后转到UserModule并添加要导入的路由部分,如下所示:

@NgModule({
  declarations: [UserListComponent,AddUserComponent,UserEditComponent],imports: [CommonModule,RouterModule.forChild(routes)],})
export class UserModule {}
,

我看到了stackblitz,不需要在app.routing.module.ts中导入booklist组件和用户组件,请再次删除并进行测试,也让我知道