2017-08-02 1 views
1

Ich möchte einige benutzerdefinierte Daten zum Routen hinzufügen, wenn ich die Routen definiere.Wie füge ich benutzerdefinierte Daten zu einer Route hinzu?

Wie kann ich das tun?

mag:

{ 
    path: 'department', 
    component: DepartmentComponent, 

    customdata: { 
    name: 'foo', 
    age: '23' 
    } 
} 

Ich möchte nicht die benutzerdefinierte Datenanzeige in URL. Ich benutze es nur intern.

+0

Mögliche Duplikat [Angular 2: Übergabe von Daten an Routen] (https://stackoverflow.com/questions/37157838/angular-2-passing-data-to-routes) –

Antwort

2

Sie können wie folgt benutzerdefinierte Daten auf die Route definieren:

[ 
    {path: 'inbox', data: {name: 'foo', age: 23}}, 
] 

und lesen sich wie folgt:

class ConversationCmp { 
    constructor(r: ActivateRoute) { 
     r.data.subscribe((p) => { 
       console.log(p); 
     }); 
    } 
} 

Es ist definiert auf der Route Schnittstelle:

export interface Route { 
    path?: string; 
    ... 
    data?: Data; 
} 
+0

die 'params' ist eine Route Eigenschaft von 'eckig' oder ist besonders angefertigt? Kann ich es durch einen beliebigen Eigenschaftsnamen ersetzen? – novaline

+0

Ja, es ist die Eigenschaft der Route. Sie können jedes Objekt dort angeben, wie ich es gezeigt habe. –

+0

Es scheint, es ist nicht "Route" Interface-Eigenschaft. – novaline

1

I tun Sie es auf folgende Weise:

Ich verwende es, um der Route benutzerdefinierte Rollen hinzuzufügen, um den Zugriff nur auf Benutzer mit einer bestimmten Rolle zu ermöglichen, die ich in Routes einstelle.

Verwandte Themen