Сопоставление подстановочных знаков углового маршрутизатора 3

Что не так с последующей настройкой маршрута? Я всегда ориентирован на** даже если есть маршрут дляapp/jungle.

import {bootstrap} from '@angular/platform-browser-dynamic';


import { RouterConfig, provideRouter } from '@angular/[email protected]'

import {App} from './app';
import { HomeComponent } from './home.component';
import { JungleComponent } from './jungle.component';
import { NotFoundComponent } from './not-found.component';



const APP_ROUTES: RouterConfig = [
  {
    path: '', pathMatch: '', redirectTo: 'app/home'
  },
  {
    path: 'app/', pathMatch: '', redirectTo: 'app/home'
  },
  {
    path: 'app/home', component: HomeComponent
  },
  {
    path: 'app/jungle', component: JungleComponent
  },
  {
    path: '**', component: NotFoundComponent
  }
]

bootstrap(App, [provideRouter(APP_ROUTES)])
  .catch(err => console.error(err));

Вот это плункер.Я использую @ angular / router @ 3.0.0-beta.2

Ответы на вопрос(1)

Решение Вопроса

'' недопустимое значение дляpathMatch.

pathMatch опорыfull а такжеprefix. prefix по умолчанию.

Установите это'full' для первых двух маршрутов:

{
  path: '', pathMatch: 'full', redirectTo: 'app/home'
},

{
  path: 'app/', pathMatch: 'full', redirectTo: 'app/home'
},

{
path: 'app/home', component: HomeComponent
},

{
  path: 'app/jungle', component: JungleComponent
},

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

Пример плунжера

Обновить (согласно комментарию ниже)

Я не знаю точно, почему трейлинг/ делает это работает, но я бы вместо этого использовал родительские маршруты без компонентов

const APP_ROUTES: RouterConfig = [
{ path: '', pathMatch: 'full', redirectTo: 'app/home' },
{ path: 'app', children: [
  { path: '', pathMatch: 'full', redirectTo: 'home' },
  { path: 'home', component: HomeComponent },
  { path: 'jungle', component: JungleComponent },
]},
{ path: '**', component: NotFoundComponent }]

Пример плунжера

 Günter Zöchbauer24 июл. 2016 г., 20:45
Я обновил свой ответ.
 Lekhnath24 июл. 2016 г., 21:06
Очень элегантное решение, работает как шарм. Я изменил свою конфигурацию маршрута, чтобы она соответствовала вашей более поздней структуре конфигурации и ... и ... и ..... да! проблема решена. Большое большое спасибо!
 Lekhnath24 июл. 2016 г., 20:04
Вау, это на самом деле решило проблему, но если я изменился{ path: 'app/', pathMatch: 'full', redirectTo: 'app/home' } в{ path: 'app', pathMatch: 'full', redirectTo: 'app/home' } (обратите внимание на обратную косую черту в конце свойства пути) дает ту же проблему, что и раньше. Любой ключ к этому
 Günter Zöchbauer24 июл. 2016 г., 20:25
Я не видел слеш. Я проверю снова.

Ваш ответ на вопрос