在我的应用程序中,我有两个名为“documents-list”和“document-upload”的组件,它们具有已定义的路径。
{ path: "documents", component: DocumentsComponent, pathMatch: 'full' },
{ canActivate: UploadRedirectionGuard], component: DocumentsComponent, path: "documents/upload" },
不幸的是,作为分析师请求,我必须将documents / upload?参数重定向到documents?参数。我之前只是在我的服务中重定向和定义变量,以了解我是否必须在上传文档时打开模式。
现在我已经切换到命名插座来处理模式,我想简化这个并避免使用该服务。这是我的代码
public canActivate(): boolean {
this.router.navigate(["documents", { outlets: { modal: "upload" }}], { preserveQueryParams: true });
return true;
}
不幸的是,它给我一个错误。
Error: Cannot match any routes. URL Segment: 'documents'
我真的不明白为什么它不能正常工作,因为我的路由器模块中正确定义了路由文档。
答案 0 :(得分:0)
您定义的路线中有错误:
{ path: "documents", component: DocumentsComponent, pathMatch: 'full' },
{ canActivate: UploadRedirectionGuard, component: DocumentsComponent, path: "documents/upload" }
我从您的代码]
中删除了{canActivate: UploadRedirectionGuard], ...
。