В моем приложении есть два компонента с именами: «список документов» и «загрузка документов» с определенным маршрутом.
{ path: "documents", component: DocumentsComponent, pathMatch: 'full' },
{ canActivate: UploadRedirectionGuard], component: DocumentsComponent, path: "documents/upload" },
К сожалению, по запросу аналитика я должен перенаправить параметр document/upload в параметр document. Раньше я просто перенаправлял и определял переменную в своей службе, чтобы знать, нужно ли мне открывать модальное окно при загрузке документов или нет.
Теперь, когда я переключился на именованный выход для обработки модального окна, я хотел бы упростить это и не использовать для этого службу. Теперь это мой код
public canActivate(): boolean {
this.router.navigate(["documents", { outlets: { modal: "upload" }}], { preserveQueryParams: true });
return true;
}
К сожалению, это дало мне ошибку.
Error: Cannot match any routes. URL Segment: 'documents'
Я действительно не понимаю, почему это не работает, поскольку документы маршрута правильно определены в моем модуле маршрутизатора.
canActivate: [AuthenticationGuard, UploadRedirectionGuard]
, передача одного компонента или массива компонентов не меняет поведение. Спасибо, в любом случае. 26.01.2017