加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 17:36:29 所属栏目:安全 来源:网络整理
导读:我想拥有多个路由模块,以保持我的应用程序清洁和易于阅读.我目前使用延迟加载SubComponent,但我不想这样做.所以我正在寻找一种方法来改变它.无论如何,这是目前正在运行的代码. 我有以下两个路由文件. APP-routing.module.ts: import { NgModule } from '@an
我想拥有多个路由模块,以保持我的应用程序清洁和易于阅读.我目前使用延迟加载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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读