Ionic: Keine Zurück-Schaltfläche, wenn Sie von der Registerkartenansicht weg navigieren

8

Ich kann nicht herausfinden, wie die Schaltfläche "Zurück" angezeigt wird, wenn Sie von einer Ansicht mit Registerkarten zu einer einzelnen Seite wechseln. Die Einzelseitenansicht sollte nicht die Tab-Leiste haben. Ich kann die Zurück-Schaltfläche erscheinen lassen, wenn ich die Ansicht mache. Ich navigiere zu einem Teil der Tab-Hierarchie, aber das ist nicht das, was ich will.

Ich habe mich umgesehen und finde keinen Beitrag zu diesem Thema. Ich suche vielleicht nicht nach den richtigen Schlüsselwörtern.

Mein Setup ist das ...

tabs: tab.feed, tab.friends, tab.account

andere Ansicht: Randompage

Hier ist meine Route eingerichtet ...

%Vor%

Hier ist die tabs.html

%Vor%

Hier ist die tab-feed.html

%Vor%

Hier ist die randompage.html

%Vor%

Alles navigiert und zeigt korrekt, nur die Zurück-Schaltfläche wird nicht angezeigt.

Bitte lassen Sie es mich wissen, wenn Sie eine alternative Lösung kennen, möglicherweise, was ich falsch mache, oder mehr Informationen benötigen.

Danke!

    
ThinkNovelty 17.11.2014, 19:18
quelle

3 Antworten

7

Ich habe das gleiche Problem. Wenn Sie den Quellcode überprüfen, erstellt ionic einen Standardverlaufsstapel mit dem Namen root history, Sichten werden verschoben und vom Stapel entfernt, wenn der Benutzer durch die App navigiert. Die Registerkartenansicht wird jedoch aus diesem Standardprotokollstapel entfernt, und ein neuer Stapel wird dafür eingerichtet.

%Vor%

root history stack:

%Vor%

Registerkarte Geschichte Stapel:

%Vor%

Ich konnte keinen einfachen Weg finden, dieses Verhalten zu ändern. Aber es gibt eine Workaround-Arbeit für meinen Fall. Ich habe eine normale ionische Ansicht erstellt und die Registerkartenansicht selbst erstellt, sodass kein neuer Verlaufsstapel erstellt wird.

%Vor%

Dann können Sie Ihren $ stateProvider so einrichten, dass eine andere Tab-Ansicht in Tab-Inhalt geladen wird, um das Verhalten der Ion-Tabs zu imitieren. Natürlich müssen Sie die aktiven Zustände der Registerkarten selbst verwalten.

    
yixiang 23.11.2014, 09:56
quelle
8

Das war auch ein langes Problem für mich. Während der History-Stack in diesem Anwendungsfall unterbrochen ist, ist 'BackView' im History-Objekt korrekt. Das vollständige Verlaufsobjekt kann mit dieser Protokollzeile gesehen werden:

%Vor%

Meine Lösung ist das manuelle Hinzufügen einer Zurück-Schaltfläche auf globalen Seiten.

Globale Seite html:

%Vor%

Javascript:

%Vor%

Eine weitere Alternative besteht darin, die Ionenquelle zu modifizieren. Ersetzen Sie in ionic.bundle.js enabledBack () mit diesem:

%Vor%     
Ryan 03.04.2015 13:10
quelle
1

Es tut mir leid, dass ich nicht genug Reputation habe, um einen Kommentar hinzuzufügen.

Ryan's Antwort funktionierte wie ein Zauber für mich (nicht die Modifikation Ionenquelle Teil), ich möchte nur einen Punkt hinzufügen, wenn man

verwendet %Vor%

statt

%Vor%

Das Javascript kann weggelassen werden.

    
vdonkey 01.10.2016 17:19
quelle