首页 > 解决方案 > 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 {
}

谁能告诉我发生了什么事?

标签: javascriptangular

解决方案


在路由器配置中使用该children属性时,必须有一个嵌套<router-outlet>存在。否则,路由将存在(控制台中没有错误),但不会渲染组件。

查看我的 stackblitz演示

登录组件具有router-outlet用于呈现children属性中定义的路由。如果您将其注释掉,您将看到该路由是有效的,但注册组件不会被呈现。


推荐阅读