我遇到了一个非常奇怪的问题,我要迫使我的角度“重建”(通过更改文件中的内容并重新加载发球),然后才能到达我的路线
这是我的文件夹结构:
app-routing.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 {
}
谁能告诉我发生了什么事?
答案 0 :(得分:1)
在路由器配置中使用children
属性时,必须存在嵌套的<router-outlet>
。否则,该路由将存在(控制台中没有错误),但是该组件将不会呈现。
检查我的堆叠demo
登录组件具有router-outlet
来呈现children
属性中定义的路由。如果您将其注释掉,则将看到该路由有效,但是注册组件未呈现。