Мне трудно заставить работать вспомогательные маршруты даже в минималистичном сценарии. Я почти уверен, я придерживался документации angular по маршрутам и множественным выходам вплоть до Т, так что я действительно понятия не имею, чего мне не хватает.
app.routing.ts:
const appRoutes: Routes = [
{
path: '',
children: [
// aux route with named outlet, **DOES NTO WORK :(**
{
path: 'simple',
component: SimpleComponent,
outlet: 'simpleOutlet'
},
// default route, *WORKS*
{
path: '',
component: AppComponent
},
// fallback route, *WORKS*
{
path: '**',
component: AppComponent,
redirectTo: ''
}
]
}
];
app.component.html:
<h2>I am the app component</h2>
<router-outlet></router-outlet>
<router-outlet name="simpleOutlet"></router-outlet>
Прежде чем использовать routerLink
, я хотел заставить его работать, введя URL-адрес прямо в браузере. Возможно ли, что я пропустил что-то важное в отношении навигации по вспомогательным маршрутам по прямому URL-адресу? Вот что происходит при прямом взломе URL-адресов:
http://localhost:4200/
работает;app.component.html
отображаетсяhttp://localhost:4200/somethingfallback123
работает; из-за резервного маршрута отображаетсяapp.component.html
http://localhost:4200/(simpleOutlet:simple)
не работает, как иhttp://localhost:4200(simpleOutlet:simple)
,http://localhost:4200/(simpleOutlet:/simple)
,http://localhost:4200/(simpleOutlet:simple/)
и т. д. (видите, я в отчаянии)
Ссылка на Stackblitz< /сильный>
ЖУРНАЛЫ ОШИБОК:
Мозилла Фаерфокс:
ERROR Error: "[object Object]"
resolvePromise http://localhost:4200/polyfills.js:7882:31
resolvePromise http://localhost:4200/polyfills.js:7839:17
scheduleResolveOrReject http://localhost:4200/polyfills.js:7941:17
invokeTask http://localhost:4200/polyfills.js:7489:17
onInvokeTask http://localhost:4200/vendor.js:70021:24
invokeTask http://localhost:4200/polyfills.js:7488:17
runTask http://localhost:4200/polyfills.js:7256:28
drainMicroTaskQueue http://localhost:4200/polyfills.js:7663:25
Кажется, это известная проблема, что Firefox не выдает правильные сообщения об ошибках.
Гугл Хром:
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'simple'
Error: Cannot match any routes. URL Segment: 'simple'
Среда (угловая версия: ng v)
Angular CLI: 7.0.4
Node: 9.7.1
OS: linux x64
Angular: 7.0.2