当前位置: 首页 > 知识库问答 >
问题:

懒惰加载到角2中的空路由以外的路由

邰棋
2023-03-14

我有我的app-routing.module.ts如下:


    import { NgModule } from '@angular/core';
    import {
        Routes,
        RouterModule
    } from '@angular/router';

    const routes: Routes = [
        {
            path        : 'reset', 
            loadChildren: 'app/auth/reset-password-form/reset-password-form.module#ResetPasswordFormModule'
        },
        {
            path        : 'verify',
            loadChildren: 'app/auth/verify-user-form/verify-user-form.module#VerifyUserFormModule'
        },
        {
            path        : '404',
            loadChildren: 'app/route-not-found/route-not-found.module#RouteNotFoundModule'
        },
        {
            path        : '',
            pathMatch   : 'full',
            loadChildren: 'app/landing-page/landing-page.module#LandingPageModule'
        },
        {
            path      : '**',
            redirectTo: '/404'
        },

    ];

    @NgModule({
        imports: [RouterModule.forRoot(routes)],
        exports: [RouterModule]
    })
    export class AppRoutingModule {
    }

当我导航到localhost:4200时,它将加载登录页。模块正确,但是,当我输入localhost:4200/resetlocalhost:4200/verifylocalhost:4200/404时,它不会加载相关模块,而是加载了登录页。模块自动关闭。

我怎样才能解决这个问题?

共有2个答案

蓝慈
2023-03-14

发生此问题的原因可能是您在AppModule(或任何其他模块文件)的imports:[]中添加了导入。

确保从导入数组中删除所有延迟加载的模块。

例如:我有三个模块,分别命名为:HomeModuleProfileModuleSettingsModule。如果HomeModule已提前加载,并且ProfileModuleSettingsModule已延迟加载,则AppModule(app.module.ts)的导入:[]应如下所示:

导入:[HomeMoules],它不应该包括ProfileModuleSettingsModule,因为它们将在运行时自动加载。

卫泉
2023-03-14

您必须将路由添加到您的子模块

  const routes: Routes = [
  { path: '', component: ResetComponent}
  ];
  const ROUTES: ModuleWithProviders = 
  RouterModule.forChild(routes);

和导入子模块中的路由(重置模块)

@NgModule({
 imports: [
    CommonModule,
    ROUTES,
    ],
 declarations: [ResetComponent],
 exports: [ResetComponent]
})
 类似资料:
  • 当打包构建应用时,Javascript 包会变得非常大,影响页面加载速度。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。 结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载。如: const Foo = () => import('./Foo.vue') 当你觉得你的页面热更新速度慢的时候,才需要往下看

  • 尽管我对Angular比较陌生,但它应该是如此简单以至于让我发疯。我使用带有“使用角度路由”选项的CLI创建了一个角度项目。创建了一个功能模块,并使用VS代码中的支架插件(Alexander Ivanichev的“Angular Files”)为其添加了一个路由类。一开始,我只是直接在app.component.html中添加组件选择器,它工作得很好,当我添加了路由器出口,将所有东西连在一起,并将

  • 本文向大家介绍vue实现路由懒加载及组件懒加载的方式,包括了vue实现路由懒加载及组件懒加载的方式的使用技巧和注意事项,需要的朋友参考一下 一、为什么要使用路由懒加载   为给客户更好的客户体验,首屏组件加载速度更快一些,解决白屏问题。 二、定义   懒加载简单来说就是延迟加载或按需加载,即在需要的时候的时候进行加载。 三、使用   常用的懒加载方式有两种:即使用vue异步组件 和 ES中的imp

  • 本文向大家介绍怎么实现路由懒加载呢?相关面试题,主要包含被问及怎么实现路由懒加载呢?时的应答技巧和注意事项,需要的朋友参考一下 1.vue的异步组件:resolve=>require(['需要异步加载的组件'],resolve) 2.es6的import方法:()=>import(需要异步加载的组件) 3.webpack的 require.ensure: r => require.ensure([

  • 我有一个数据表的问题-懒加载。我认为问题是在IdiomasBean.java(TableBean.java),如果我把: 我得到了正确的数据表,但是<代码>按排序、筛选和不起作用。 我得到:java。lang.NullPointerException这里是堆栈跟踪: 下面是代码的其余部分: 指数xhtml diomasBean.java 懒散的数据模型。JAVA IdiomasBo.java 习语

  • 我有一个带有路由器插座的根应用程序组件,并且路由是从家庭模块路由加载的,该路由在其子路由中使用延迟加载和 loadchildren。家庭组件中有一个路由器插座,在家庭的所有子模块中也有延迟加载的路由器插座。路由工作正常,但子路由也加载到根路由器出口中。例如:- 组件“testCreateComponent”正在加载localhost:4200 / test/create和localhost:420