javascript - angular 在重建之前找不到模块
问题描述
我有一个非常奇怪的问题,我有强制我的角度“重建”(通过更改文件中的某些内容并重新加载服务)在我的路线可以到达之前
这是我的文件夹结构:
应用程序路由.module.ts
import {NgModule} from '@angular/core';
import {PreloadAllModules, RouterModule, Routes} from '@angular/router';
import {redirectUnauthorizedTo, canActivate} from '@angular/fire/auth-guard';
const redirectUnauthorizedToLanding = redirectUnauthorizedTo(['/login/signin']);
const routes: Routes = [
{
path: '',
loadChildren: () => import('../login/login.module').then(m => m.LoginModule)
},
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardPageModule',
...canActivate(redirectUnauthorizedToLanding)
},
{path: 'statistic', loadChildren: './statistic/statistic.module#StatisticPageModule'}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, {preloadingStrategy: PreloadAllModules})
],
exports: [RouterModule]
})
export class AppRoutingModule {
}
登录路由模块
import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {AngularFireAuthModule} from "@angular/fire/auth";
import {ReactiveFormsModule} from "@angular/forms";
const routes: Routes = [
{
path: 'login',
pathMatch: 'prefix',
children: [
{
path: 'signin',
loadChildren: './pages/sign-in/sign-in.module#SignInPageModule'
},
{
path: 'signup',
loadChildren: './pages/sign-up/sign-up.module#SignUpPageModule'
},
]
},
];
@NgModule({
imports: [RouterModule.forChild(routes), AngularFireAuthModule, ReactiveFormsModule],
exports: [RouterModule]
})
export class LoginRoutingModule {
}
谁能告诉我发生了什么事?
解决方案
在路由器配置中使用该children
属性时,必须有一个嵌套<router-outlet>
存在。否则,路由将存在(控制台中没有错误),但不会渲染组件。
查看我的 stackblitz演示
登录组件具有router-outlet
用于呈现children
属性中定义的路由。如果您将其注释掉,您将看到该路由是有效的,但注册组件不会被呈现。
推荐阅读
- android - 数据绑定不适用于选项卡项文本属性
- amazon-web-services - 用于编排的 AWS Step Functions 与 Luigi
- android - 有人可以向我解释如何在字符串中加粗文本吗?
- sql - 在 ORACLE SQL 中同时使用 join 和 where sysdate 子句的问题
- python - 解决环境:尝试设置 Python 虚拟环境时失败
- wordpress - WooCommerce 单品页面图片库显示问题
- stanford-nlp - 对于不同的词性,相同的词有不同的引理吗?
- c++ - 使用 GCC 编译 Win32 EXE 时 PE 大小和部分不正确
- git - 如何将大文件添加到 Git 存储库?
- mysql - 选择当前周,从星期一开始而不是星期日