首页 > 解决方案 > Angular 子路由和 404

问题描述

查找不存在链接的路线不允许您通过子链接。

应用程序路由.module.ts

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

import { IntroComponent } from './shared/components/intro/intro.component';
import { NotFoundComponent } from './shared/components/not-found/not-found.component';
import { ReportsComponent } from './reports/reports.component';
import { TrainingComponent } from './training/training.component';
import { TmComponent } from './tm/tm.component';

const routes: Routes = [
  { path: '', component: IntroComponent },
  { path: 'reports', component: ReportsComponent },
  { path: 'training', component: TrainingComponent },
  { path: 'tm', component: TmComponent },
  { path: '**', component: NotFoundComponent }
];

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

训练路由.module.ts

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

import { TrainingComponent } from './training.component';
import { ViewComponent } from './scenario/view/view.component';
import { EditorComponent } from './scenario/editor/editor.component';
import { ListComponent } from './scenario/list/list.component';

const routes: Routes = [
  {
    path: 'training', component: TrainingComponent, children: [
      { path: 'scenarios', component: ListComponent },
      { path: 'scenario/view/:id', component: ViewComponent },
      { path: 'scenario/editor/:id', component: EditorComponent }
    ]
  }
];

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

如果您删除路由 { path: '**', component: NotFoundComponent },链接将起作用。但是 404 错误没有被处理。

请告诉我,如何使这些路由处理 404 错误?

标签: angularrouting

解决方案


推荐阅读