angular - 默认路由模块与其他所有模块一起加载
问题描述
我已将延迟加载的 Home 模块设置为空路径。但现在的问题是,每当我尝试加载不同的模块时,例如通过 /new/auth 之类的 url 登录,主模块也会随之加载。
const routes: Routes = [
{
path: '', component: MainLayoutComponent,
children: [
{
path: '',
loadChildren: './homepage/homepage.module#HomepageModule'
},
{
path: 'new/auth',
loadChildren: './auth/auth.module#AuthModule'
},
}
}
由于我使主页模块延迟加载,因此我希望主页模块应仅在空路径上加载。但它在每条路线上都加载。
我检查了应用程序模块或任何其他根模块等所有地方,并且没有导入主模块。
解决方案
children
数组中项目的顺序很重要。
尝试
const routes: Routes = [
{
path: '', component: MainLayoutComponent,
children: [
{
path: 'new/auth',
loadChildren: './auth/auth.module#AuthModule'
},
{
path: '',
loadChildren: './homepage/homepage.module#HomepageModule'
},
}
}
推荐阅读
- angular - Angular 2:从promise调用函数时视图不更新
- javascript - 尝试推送字段值时无法读取未定义的属性推送
- bash - BASH:使用管道创建变量
- macos - 使用 homebrew-cask 安装 DMG 文件时,hdiutil 没有响应
- python - 正则表达式:(日期/时间)每个部分之间的相同项目
- vba - Excel VBA 宏在工作表上的单元格刷新之前完成
- java - 如何分解枚举中的公共参数?
- c# - 从字典中获取字符串数组
- vba - 根据表中的列值将行复制到其他工作表
- php - 尝试上传 go daddy 时出错:找不到类 '\App\User'