角度直到重新构建才能找到模块

时间:2019-10-27 16:53:22

标签: javascript angular

我遇到了一个非常奇怪的问题,我要迫使我的角度“重建”(通过更改文件中的内容并重新加载发球),然后才能到达我的路线

这是我的文件夹结构:

enter image description here

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 {
}

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

1 个答案:

答案 0 :(得分:1)

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

检查我的堆叠demo

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