angular – 在没有延迟加载的情况下路由到子路由模块

前端之家收集整理的这篇文章主要介绍了angular – 在没有延迟加载的情况下路由到子路由模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想拥有多个路由模块,以保持我的应用程序清洁和易于阅读.我目前使用延迟加载SubComponent,但我不想这样做.所以我正在寻找一种方法来改变它.无论如何,这是目前正在运行的代码.

我有以下两个路由文件.

APP-routing.module.ts:

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

const routes: Routes = [
  { path: '',component: HomeComponent },{ path: 'sub',loadChildren: './sub/sub.module#SubModule' }
];

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

子routing.module.ts:

import { NgModule } from '@angular/core';
import { Routes,component: SubComponent,children: [
    { path: 'new',component: SubEditComponent }
  ] },];

@NgModule({
  imports: [RouterModule.forChild(routes)],exports: [RouterModule]
})

它的工作方式很好,但我不想对这个SubComponent应用延迟加载.所以,理想情况下我想将app-routing.module.ts更改为:

import { NgModule } from '@angular/core';
import { Routes,component: SubComponent }
];

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

这将不起作用,并导致以下错误

ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'sub/new'
Error: Cannot match any routes. URL Segment: 'sub/new'

SubComponent的大小会大幅增加,我不想因为自己的原因而应用延迟加载.所以无论如何,有没有办法在避免延迟加载的同时使用多个路由文件

解决方法

您是否尝试过这样加载:

{path:’sub’,loadChildren :()=>子模块}

你可以找到更多细节here.

猜你在找的Angularjs相关文章