Я пытаюсь сделать представление типа master/detail в моем приложении Angular2. В моем основном компоненте приложения у меня определены следующие маршруты:
@Routes([
{ path: '/', component: HomeComponent },
{ path: '/brands/:brandId/...', component: BrandShowComponent },
{ path: '/brands', component: BrandListComponent }
])
Я могу хорошо ориентироваться в /brands
где я показываю список брендов. При выборе конкретного бренда я пытаюсь показать детали упомянутого бренда. Кроме того, BrandShowComponent
также будет иметь дочерние маршруты. Обратите внимание на ...
в приведенной выше конфигурации маршрута. В BrandShowComponent
я определил дочерний маршрут следующим образом:
@Routes([
{ path: '/regions', component: RegionListComponent }
])
И я добавил в шаблон для BrandShowComponent
<router-outlet></router-outlet>
.
Как я уже сказал, я могу просмотреть список брендов, но когда я нажимаю на конкретный бренд, я получаю следующую ошибку в консоли:
browser_adapter.ts:78 EXCEPTION: Error: Uncaught (in promise): Component 'BrandListComponent' does not have route configuration
Я хочу, чтобы BrandShowComponent
был master
, а не BrandListComponent
. Я не уверен, что я мог неправильно настроить, чтобы заставить Угловое думать иначе. Или, если я получаю бит RC
вопрос.
Это известная проблема в текущем маршрутизаторе.
Сортируйте маршруты таким образом, чтобы наиболее значительным было первое:
@Routes([
{ path: '/brands/:brandId/...', component: BrandShowComponent },
{ path: '/brands', component: BrandListComponent }
{ path: '/', component: HomeComponent },
])
@Routes
как вы предложили, и я все еще получаю ту же ошибку.router.navigate()
? Я только что видел/...
Это должно быть удалено в новом маршрутизаторе RC, потому что это больше не вещь.