2016-06-03 6 views
0

Я пытаюсь создать представление типа master/detail в моем приложении Angular2. В моем основном компоненте приложения, у меня есть следующие маршруты определены:Детские маршруты, жалующиеся на пропущенную конфигурацию маршрута

@Routes([ 
    { path: '/', component: HomeComponent }, 
    { path: '/brands/:brandId/...', component: BrandShowComponent }, 
    { path: '/brands', component: BrandListComponent } 
]) 

Я могу перемещаться просто отлично /brands, где я показываю список брендов. При выборе конкретного бренда я пытаюсь показать детали упомянутого бренда. Кроме того, BrandShowComponent также будет иметь дочерние маршруты. Обратите внимание на ... в приведенной выше конфигурации маршрута. В BrandShowComponent я определил ребенка маршрут как так:

@Routes([ 
    { path: '/regions', component: RegionListComponent } 
]) 

И я добавил <router-outlet></router-outlet> в шаблон для BrandShowComponent.

Как я уже сказал, я могу просмотреть список брендов, но когда я нажимаю на конкретный бренд, я получаю следующее сообщение об ошибке в консоли:

browser_adapter.ts:78 EXCEPTION: Error: Uncaught (in promise): Component 'BrandListComponent' does not have route configuration

Я хочу BrandShowComponent быть master , не BrandListComponent. Я не уверен, что я мог неправильно настроить, чтобы заставить Угловое думать иначе. Или если я получаю бит RC.

ответ

0

Это известная проблема в текущем маршрутизаторе.

Сортировать маршруты так, что наиболее важным пришел первым:

@Routes([ 
    { path: '/brands/:brandId/...', component: BrandShowComponent }, 
    { path: '/brands', component: BrandListComponent } 
    { path: '/', component: HomeComponent }, 
]) 
+0

Я думал, что тоже, но не в этом случае. Я изменил свои «@ Маршруты», как вы предложили, и я все равно получаю ту же ошибку. – Gregg

+0

Что вызывает ошибку? Routerlink, перезагрузка страницы с глубокой ссылкой, 'router.navigate()' ?. Я просто видел «/ ...». Это нужно удалить в новом RC-маршрутизаторе, потому что это уже не так. –

+0

Ошибка возникает, когда я нажимаю на routerLink для '/ brand /: brandId' из' BrandListComponent'. Когда я перехожу к BrandShowComponent, у меня есть боковая панель со списком routerLinks, который я хочу отображать на BrandShowComponent в качестве дочерних, но мне нужен маршрут, обновленный в URL. Так '/ бренды/123/regions' и'/бренды/123/отделы' и т. Д. Сохранение боковой панели на месте. – Gregg

Смежные вопросы