Angular2 - Маршрутизатор не выбирает маршрут / домашний путь
У меня есть приложение Angular2, использующее этот Angular2 Webpack Starter. Я просто добавил запасной маршрут к своему app.routes.ts
файл после добавления его модуля (NotFoundModule
) чтобы app.module.ts
и все отлично работает, кроме теперь мой домашний путь (''
) больше не регистрируется и NotFoundComponent
грузы. Код ниже:
import { Routes } from '@angular/router';
import { HomeComponent } from './home';
import { NotFoundComponent } from './notfound/notfound.component';
import { DataResolver } from './app.resolver';
export const ROUTES: Routes = [
{
path: '', component: HomeComponent },
{
path: 'getstarted', loadChildren: './getstarted#GetStartedModule'
},
{
path: 'open-account', loadChildren: './open-account/#OpenAccountModule'
},
...
...
...
{
path: '**', component: NotFoundComponent
},
];
Как я могу решить эту проблему, чтобы мой домашний маршрут снова работал правильно и NotFoundComponent
не будет загружаться на своем месте?
1 ответ
Когда у вас есть маршруты, которые используют ''
для их пути и не иметь детей, вы хотите указать pathMatch: 'full'
для этого маршрута.
export const ROUTES: Routes = [
{
path: '', pathMatch: 'full', component: HomeComponent },
{
path: 'getstarted', loadChildren: './getstarted#GetStartedModule'
},
{
path: 'open-account', loadChildren: './open-account/#OpenAccountModule'
},
...
...
...
{
path: '**', component: NotFoundComponent
},
];
См. https://angular.io/docs/js/latest/api/router/index/Routes-type-alias.html для обоснования.