2017-08-30 3 views
1

Je dois passer des paramètres à une prise nommée, à partir d'une prise par défaut. Après le passage, tout ce que je reçois est «indéfini». Voici mon code.Angular2 - Transmission des paramètres à la sortie nommée

[routerLink]="['', { outlets: { secondOutlet: 'messages' }, name: this.userName, lastName: this.userLastName}]" 

Je reçois des paramètres avec ceci. Je n'ai pas d'erreur, mais dans la console, tout ce que je reçois est indéfini. Je peux envoyer des paramètres à un itinéraire s'il se trouve sur la même prise, mais je n'arrive pas à comprendre comment le faire en envoyant des paramètres d'une prise à une autre.

+0

Je peux voir que vous avez marqué la réponse, mais il n'y a pas d'explication claire ce qui n'allait pas avec votre code initialement? –

+0

@PraveenRawat Wrong était le moyen d'envoyer des paramètres et la mise en place de l'itinéraire – BrS

Répondre

2
[routerLink]="['', { outlets: { secondOutlet: ['messages', this.userName ] } }]" 

et dans la spécification de route

Routes = [ 
{ 
    path: 'messages/:username', 
    component: AccountsEditComponent, 
    outlet: 'secondOutlet' 
    } 
] 
+0

Ok, fait cela et je peux voir les paramètres dans l'URL. Mais je suis toujours indéfini quand je les reçois. useName: string; route privée $: Abonnement; this.route $ = this.route.params.subscribe (params => { this.userName = params ['nom_utilisateur']; }); – BrS

+0

la valeur que vous avez dans l'URL est-elle correcte ?? –

+0

Oui, mais lors de la réception des paramètres, ils affichent "indéfini". – BrS

0

HI peut vous regarder ce poste

passing params routed outlet

je l'espère peut-être vous aide

+0

apprécier votre effort, mais mieux vaut le mettre en commentaire la prochaine fois –

0

Il fonctionne comme ça. Envoyer params comme ceci:

[routerLink]="['', { outlets: { secondOutlet: ['messages', this.username] } }]" 

Et dans la configuration des routes votre composant comme celui-ci.

Routes = [ 
{ 
    path: 'messages/:username', 
    component: AccountsEditComponent, 
    outlet: 'secondOutlet' 
    } 
]