2016-10-20 10 views
1

In meiner Angular2 App muss ich einige optionale Argumente an eine Route übergeben. Weil sie optional sind, entschied ich mich für queryParams.Abfrageparameter funktionieren nicht richtig

ich den folgenden Code bin mit dem Argument übergeben:

public recoverPassword() { 
    this.router.navigate(
     ['/access/recover-password', 
     { queryParams: { 'email': this.model.email }} ] 
    ); 
} 

Ich erhalte diese URL:

http://localhost:4200/access/recover-password;queryParams=%5Bobject%20Object%5D 

Wie Sie sehen können, ist der Parameter völlig falsch ist. Und ich kann es nicht in der Zielkomponente analysieren. Die richtige URL sollte sein:

http://localhost:4200/access/recover-password;[email protected] 

Ich folgte die official doc, aber ich kann nicht eine funktionierende Lösung finden.

+0

Bitte buchstabieren Sie Ihre Post. –

Antwort

1

queryParams sollte als zweites Argument übergeben werden (um genauer zu sein, ist es nur ein Teil des optionalen zweiten Arguments NavigationExtras, können Sie mehr darüber here lesen), nicht als Teil des ersten Arguments, das eine Route, die Sie ist möchte zu navigieren. Dies sollte den Trick tun:

public recoverPassword() { 
    this.router.navigate(
     ['/access/recover-password'], 
     { queryParams: { 'email': this.model.email } } 
    ); 
} 
Verwandte Themen