2017-01-26 3 views
1

Ich habe in meiner Anwendung zwei Komponenten namens: "Dokumente-Liste" und "Dokument-Upload", mit der definierten Route.Umleiten zu einer anderen Route mit einem benannten Ausgang

Leider muss ich als ein Analyst-Antrag den Parameter Dokumente/Upload? In Dokumente? Parameter umleiten. Ich habe zuvor nur eine Variable in meinem Dienst umgeleitet und definiert, um zu wissen, ob ich das Modal für den Upload meiner Dokumente öffnen musste oder nicht.

Jetzt, wo ich zum benannten Ausgang gewechselt habe, um das modale zu handhaben, möchte ich dieses vereinfachen und vermeiden, den Service dafür zu verwenden. Das ist jetzt mein Code

public canActivate(): boolean { 
    this.router.navigate(["documents", { outlets: { modal: "upload" }}], { preserveQueryParams: true }); 
    return true; 
} 

Leider gab es mir einen Fehler.

Error: Cannot match any routes. URL Segment: 'documents' 

Ich verstehe nicht wirklich, warum es nicht, da die Strecke Dokumenten arbeiten wird zu Recht in meinem Router-Modul definiert.

Antwort

0

Sie haben einen Fehler in der definierten Route.

{ path: "documents", component: DocumentsComponent, pathMatch: 'full' }, 
{ canActivate: UploadRedirectionGuard, component: DocumentsComponent, path: "documents/upload" } 

ich die ] aus dem Code entfernt ({canActivate: UploadRedirectionGuard], ...

+0

Eigentlich mein richtiger Code ist 'canActivate: [AuthenticationGuard, UploadRedirectionGuard]' auch vorbei Eine einzelne Komponente oder ein Array von Komponenten ändert das Verhalten nicht. Danke trotzdem. – Sakuto

Verwandte Themen