2017-08-02 4 views
1

Ich bin neu zu ionischen und versuchen, ein Anmelde- und Abmeldefluss zu machen,Wie implementiert man SetRoot nach dem Abmelden?

Dies ist die Struktur

Anmeldung:

LoginPage => TabsPage 

Abmelden:

TabsPage => LoginPage 

I‘ m implementiert derzeit Abmeldung mit this.navCtrl.setRoot(LoginPage) Es setzt die LoginPage als Root, aber auf CLI cking Hardware Zurück-Taste, die LoginPage ist entlassen und ich kann immer noch die TabsPage, die im Hintergrund aktiv ist.

Wie löse ich das? Wie entferne ich die TabsPage vollständig aus dem Nav?

+1

Was passiert, wenn Sie das 'rootNav' aus der 'App'-Instanz ([docs] (https://ionicframework.com/docs/api/components/app/App/)) wie diese' this.app verwenden. getRootNav(). setRoot (LoginPage) '? – sebaferreras

+0

Ich bekomme eine Warnung, dass '(getRootNav) veraltet ist und in der nächsten Hauptversion entfernt wird. Verwenden Sie stattdessen getRootNavById. Und 'getRootNavById' benötigt einen String als Eingabe, und ich bin nicht in der Lage, herauszufinden, wie man es richtig verwendet. –

+1

Ja, wie Sie in [this thread] sehen können (https: // forum. ionicframework.com/t/getrootnav-deprecated-use-getrootnavbyid-whats-the-value-of-the-root-nav-id/96271/18) oder [dieses Github-Problem] (https://github.com/ionic -team/ionic-site/issues/1197) es ist nicht sehr klar, wie 'getRootNavById' verwendet werden sollte. Ein * Workaround * wäre 'getNav() { var navs = this._app.getRootNavs(); if (navs && navs.length> 0) { Rückennavigation [0]; } Rückgabe this._app.getActiveNav ('nav'); } ' – sebaferreras

Antwort

1

Es gab Inkonsistenzen bei der Verwendung von this.navCtrl.setRoot(LoginPage), da es dazu führte, dass TabsPage auch nach dem vollständigen Abmelden bestehen blieb. So fand ich eine Abhilfe, indem direkt die rootPage Variable in app.component.ts mit RxJS Ändern ReplaySubject

ich diesen Github Source verwiesen, die die Umsetzung hat RxJS mit

-1

Versuchen:

this.appCtrl.getRootNavs()[0].setRoot('LoginPage'); 

Es funktioniert für mich!

Verwandte Themen