2017-06-08 2 views
0

Ich erstelle eine Suchseite, über die Benutzer zu dem bestimmten Datensatz navigieren können. Wenn sie zur Suchseite zurückkehren, werden ihre Suchkriterien weiterhin ausgefüllt. Ich habe versucht, mit dieser https://www.softwarearchitekt.at/post/2016/12/02/sticky-routes-in-angular-2-3-with-routereusestrategy.aspx und es hat super funktioniert.Angular 2 So speichern Sie den Status während des Routings selektiv

Das Problem ist, es gibt andere Seiten, auf denen ich navigieren, haben Filter basierend auf Anfrage-Parameter, die auch den vorherigen Zustand speichern, nicht die neue, zum Beispiel sagen, ich navigiere zu/Seite? Type = foo und es zeigt 10 Ergebnisse an, dann navigiere ich nach/page? type = bar, es sollte 5 Ergebnisse anzeigen, zeigt aber immer noch die 10 Ergebnisse von foo ... dh: es erinnert sich auch an seinen vorherigen Zustand.

Also meine Frage ist, wie kann ich selektiv steuern, wenn der Zustand gespeichert ist. Im Idealfall möchte ich den Status nur dann auf dem Suchbildschirm speichern, wenn Sie von der Detailseite kommen, nicht beim Navigieren zur Suche über die Hauptseite.

Dank

-Todd

+0

Sie können eine Params in der Route Link übergeben – alehn96

+0

Könnten Sie ein wenig ausarbeiten? Was würde ich mit dem in den routeLink eingegangenen param machen, wie überlasse ich es? Entschuldigung, es ist mir einfach nicht klar – user2524574

Antwort

1

Wenn aus Detailseite und Hauptseite

this.route.params.subscribe(params => { 
        let detailPage = params[ 'detailPage' ]; 
        if (detailPage) { 
          // do something 
        } 
      }); 

und im Detail Komponente comming

let link = ['pathScreen',{ detailPage : true }]; 
this.router.navigate(link) 

und in Haupt-Seite

let link = ['pathScreen']; 
this.router.navigate(link) 
+0

danke, ich werde es versuchen ... eine andere Frage, was ist 'pathScreen'? – user2524574

+0

Es ist ein Beispielpfad, Sie fügen Ihren Pfad zum Komponentensuchbildschirm ein – alehn96

Verwandte Themen