ionico gestisce un history mentre si sta navigando da una vista all'altra.
$ ionicHistory tiene traccia delle visualizzazioni mentre l'utente naviga attraverso un'app . Simile al modo in cui si comporta un browser, un'app Ionic è in grado di tenere traccia della vista precedente, della vista corrente e della vista avanti (se ce n'è una). Tuttavia, un tipico browser Web conserva solo la traccia di uno stack cronologico in modo lineare.
A differenza di un ambiente browser tradizionale, le app e le applicazioni web hanno storie indipendenti parallele parallele, ad esempio con schede. Se un utente naviga poche pagine in profondità in una scheda, quindi passa a una nuova scheda e indietro, il pulsante Indietro non si riferisce alla scheda precedente, ma alle pagine precedenti visitate all'interno di quella scheda.
C'è un bug aperto su github che non è stato ancora fissato (e sarà fissato solo in 2.0) in cui Adam Bradley afferma:
Il pulsante Indietro non viene visualizzato perché quando si va in una scheda, è inserire la propria "cronologia", il che significa che ogni scheda ha la propria navigazione indietro e avanti.
Quindi, in pratica, quando si passa dalle schede alla vista normale si perde il pulsante Indietro.
Che cosa si può fare è di creare uno voi stessi:
<ion-nav-buttons side="left">
<button class="button back-button buttons button-clear header-item" ng-click="goBack()">
<i class="icon ion-ios-arrow-back"> Back</i>
</button>
</ion-nav-buttons>
e inserirlo all'interno della vostra vista:
<ion-view view-title="home">
<ion-nav-buttons side="left">
<button class="button back-button buttons button-clear header-item" ng-click="goBack()">
<i class="icon ion-ios-arrow-back"> Back</i>
</button>
</ion-nav-buttons>
<ion-content padding='true' scroll='false' has-footer='false'>
<div class="card">
<div class="item item-text-wrap">
HOME PAGE
</div>
</div>
</ion-content>
</ion-view>
Come potete vedere ho usato ng-click="goBack()"
per il pulsante.
Nel vostro controller semplicemente farebbe:
$scope.goBack = function(){
$ionicHistory.goBack();
}
non dimentica l'iniezione di $ionicHistory
nel controllore.
PS: Questa è una soluzione semplicistica in quanto non controlla se la storia ha una backview:
$ionicHistory.viewHistory().backView
si prega di formattare il codice in modo che sia leggibile e spiegare come funziona e perché – pqnet