2015-12-25 23 views
5

In Angular 1 e ui-router ho usato molto gli stati per passare i dati da uno stato all'altro (senza utilizzare i parametri URL). È possibile in Angular 2?Qual è l'equivalente dei parametri di stato (Angular 1 e ui-router) in Angular 2?

Router, RouteParams, RouterLink e RouteData non sembra per gestire questo per esempio voglio passare un oggetto utente da uno stato all'altro

<a ui-sref="home({user: myCtrl.user})"> 

questo non sembra possibile in angolare 2.

+0

RouteParams ha lo stesso ruolo di $ routeParams o $ stateParams. E $ stateParams ** è ** utilizzato per modificare il percorso dell'URL ei parametri di ricerca: https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service. Citazione: * $ stateParams è un modo perfetto per fornire i tuoi controller o altri servizi con le singole parti dell'URL navigato *. –

+0

Grazie per la risposta, è possibile utilizzare $ stateParams per recuperare dati come Array o Object. Verifica l'API dei parametri: http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$stateProvider "Una mappa che configura facoltativamente i parametri dichiarati nell'URL o definisce parametri aggiuntivi non url. " Sono interessato ai "parametri non url" – Shprink

+0

Non sapevo che fosse possibile. Ma mi sembra comunque una cattiva idea. Se i parametri non sono nell'URL, l'aggiornamento della pagina non funzionerà: i valori dei parametri andranno persi. –

risposta

-1

Se stai usando angolare router 2, è possibile passare allo stato via @RouteParams, per esempio,

<a [routerLink]="['/ProductDetail', {id: 1234}]">Product Details</a> 

In questo caso ID è il tuo stato, e può essere qualsiasi oggetto, ad es .:

<a [routerLink]="['/ProductDetail', myStateObject]">Product Details</a> 

D'altra parte, angolare 2 ha un meccanismo per passare parametri mediante legame @Input() parametri del componente, ma questo può essere utilizzato solo all'interno dello stesso percorso.

+0

Grazie per la tua risposta, ma non è questa la mia domanda. Sono interessato ai "parametri non url". Se si desidera aggiornare la risposta, leggere i commenti sulla domanda per evitare confusione. – Shprink