问题描述
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组件和用户组件,请再次删除并进行测试,也让我知道