Comment conserver les paramètres de la chaîne de requête dans l'URL lors de l'accès à une route d'une application Angular 2?

J'ai une application de test Angular 2 exécutant le dernier alpha (37). Il n'y a que trois routes, qui ressemblent à ceci:

@RouteConfig([ { path: '/', component: Home, as: 'home' }, { path: '/errors', component: Errors, as: 'errors' }, { path: '/about', component: About, as: 'about' } ]) 

Je peux accéder aux itinéraires, et lorsque je place les paramètres de la chaîne de requête dans l'URL, je peux les lire très bien. Cependant, quelques instants après avoir lu les paramètres, j'ai remarqué que l'itinéraire fonctionne bien et que l'URL est actualisée, en supprimant les paramètres de la chaîne de requête.

En d'autres termes, accéder à cette route:

Http: // localhost: 5555 / errors? Test = abc

Charge l'itinéraire /errors , mais immédiatement après l'application, l'URL se transforme en:

Http: // localhost: 5555 / erreurs

Cela serait confus pour un utilisateur. Je souhaite garder les paramètres de la chaîne de requête dans l'URL.

Je sais, c'est en alpha, mais est-ce un bug ou j'ai oublié de configurer quelque chose sur le routeur? Comment puis-je conserver les paramètres de la chaîne de requête dans l'URL?

Merci!

Ceci est corrigé dans Alpha 41. La chaîne de requête est maintenant persiste.

Mise à jour pour Angular 2:
Pour préserver les paramètres de requête présents dans l'URL en cours, ajoutez

 // import NavigationExtras import { NavigationExtras } from '@angular/router'; // Set our navigation extras object // that contains our global query params let navigationExtras: NavigationExtras = { preserveQueryParams: true }; // Navigate to the login page with extras this.router.navigate(['/someLink'], navigationExtras); 

Pour plus d'informations, vérifiez ici :

Essayez ceci this.router.navigate (['target'], {preserveQueryParams: true});