typescript - Hur man ställer in en rutt för en egen 404-sida i Angular-projekt


I mitt Angular-projekt har jag en komponent som heter 'wrongRouteComponent' för en anpassad 404-sida. När någon går in på en icke fördefinierad rutt bör den visa 'wrong-route.component.html'. Jag förstår inte hur man gör detta.

Detta är 'app-rouring.module.ts' som jag har använt.

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

// Required components for which route services to be activated
import { LandingComponent } from '../../components/landing/landing.component';
import { DashboardComponent } from '../../components/dashboard/dashboard.component';
import { UserprofileComponent } from '../../components/userprofile/userprofile.component';
import { WrongRouteComponent } from '../../components/wrong-route/wrong-route.component';

const routes: Routes = [
  { path: '', component: LandingComponent},
  { path: '/dashboard', component: DashboardComponent},
  { path: '/userprofile', component: UserprofileComponent},

  //Wrong route
  { path: '404', component: WrongRouteComponent},

];

Kan någon säga mig vilka ändringar jag bör lägga till i

{ path: '404', component: WrongRouteComponent},

Svar #1

Du kan helt enkelt göra det

{
    path        : '**',
    pathMatch   : 'full',
    component   : WrongRouteComponent
}

Sätt denna wildcard-rutt i din ruttfil sist i ruttarrayen.

Jag hoppas att det hjälper dig.

Svar #2

wild card route kommer att fånga alla vägar som du inte känner till (odefinierade rutter i din konstant). Odefinierad URL gör att routern kastar ett fel och kraschar appen.

Normalt läses rutter från toppen till botten, därför är det viktigt att hålla wildcard-rutten ('**') i slutet av ruttlistan. Om du håller den överst kommer alla andra rutter att betraktas som odefinierade.

Du kan använda det enligt nedan.

{path: ‘not-found’ , component: ‘NotFoundComponent’}
{path: ‘**’ , redirectTo: ‘/not-found’}

Eller

 { path: '**', component: NotFoundComponent}

Relaterade artiklar