У меня есть домашний компонент, который я хотел бы отображать навсегда. Это выпадающее меню. Когда элемент в меню щелкнут, появляется форма. Я хочу, чтобы выпадающее меню отображалось в любое время. Первоначально я проектировал это так:Angular2: Детские маршруты
мой-app.html
<div>
<dropdown-selector></dropdown-selector>
<router-outlet></router-outlet>
</div>
Маршрутизация работает нормально, но я продолжал получать Error: Cannot match any routes: ''(…)
, даже если у меня есть base
тег, определенный в моем index.html.
Тогда я думал, что я должен определить выпадающее меню в качестве родительского маршрута, и все маршруты выпадающего списка будут его дочерними.
приложение-routes.ts отрывок
export const APPLICATION_ROUTES: RouterConfig = [
{
path: '',
component: Home, // dropdown-selector is inside this component
children: [
{path: 'forms/1', component: Form1},
{path: 'forms/2', component: Form2},
{path: 'forms/3', component: Form3},
{path: 'forms/4', component: Form4},
{path: 'forms/5', component: Form5},
{path: 'forms/6', component: Form6},
{path: 'forms/7', component: Form7},
{path: 'forms/8', component: Form8}
]
}
];
А потом пересмотреть свое-app.html ...
мой-app.html
<div>
<router-outlet></router-outlet>
</div>
Я держу получив ту же самую ошибку, но теперь выпадающее меню даже не отобразится. Кроме того, с новым маршрутизатором я не думаю, что есть способ установить маршрут по умолчанию. Я предполагал, что ''
был маршрутом по умолчанию. Я использую Angular2 RC.4.
Я проектирую это неправильно? Что случилось с этой ошибкой? Я видел много сообщений SO, адресованных ему, но никто из них не решил мою проблему.
Это сработало :), но я бы хотел настроить путь '' ''для перехода к компоненту« призрак ». Я не хочу, чтобы там ничего не отображалось. Мне не нравится звук этой идеи. – DankestMemes
В моем собственном решении у меня на самом деле есть главный <роутер-выход>, который управляет аутентификацией, а затем у меня есть второй <роутер-выход> (тот, который я вставил выше), который управляет остальной частью приложения. В этом случае вам необходимо определить вторую розетку в качестве дочернего элемента первого. Вы должны увидеть документацию Angular2 на маршрутизаторах, чтобы помочь вам в этом. Если это признанный ответ, пожалуйста, отметьте его, я был бы очень признателен. Не стесняйтесь задавать другой вопрос на другом посту, если вам нужна дополнительная помощь. –