Sto lavorando a un'app Ionic e ho implementato uno schermo on-board con 3 diapositive, del testo e il tag <a href="...">
per andare direttamente alla schermata iniziale.Visualizzazione gerarchia non rispettata - UI Route (Ionic)
Ora ho notato che quando ho colpito il tag <a href="...">
sono reindirizzato alla vista corretta ma la barra di navigazione in alto ha un pulsante indietro dove dovrebbe esserci un'icona del menu di un hamburger.
Non sono sicuro se sto implementando correttamente il sistema di routing. Qual è il motivo per cui utilizzare il routing e rispettare la vista gerarchica?
codice HTML (on-boarding):
<ion-view view-title="WNRS" hide-nav-bar="true">
<ion-content scroll="false" has-header="true" class="has-header">
<ion-slide-box on-slide-changed="slideChanged(index)">
<ion-slide>
<h4 class="padding">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque semper, sapien ac hendrerit porttitor, ipsum ante ultrices ipsum, eu congue arcu libero id enim.</h4>
<br><br>
<a ui-sref="app.base1"><h2>Play</h2></a>
</ion-slide>
<ion-slide>
<h4 class="padding">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque semper, sapien ac hendrerit porttitor, ipsum ante ultrices ipsum, eu congue arcu libero id enim.</h4>
<br><br>
<a ui-sref="app.base1"><h2>Play</h2></a>
</ion-slide>
<ion-slide>
<h4 class="padding">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque semper, sapien ac hendrerit porttitor, ipsum ante ultrices ipsum, eu congue arcu libero id enim.</h4>
<br><br>
<a ui-sref="app.base1"><h2>Play</h2></a>
</ion-slide>
</ion-slide-box>
</ion-content>
</ion-view>
Parte del codice app.js (parte di routing):
// Routes
app.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
cache: false,
url: '/app',
abstract: true,
templateUrl: 'components/sidebar_menu/menu.html'
})
.state('app.walkthrough', {
url: '/walkthrough',
views: {
'menuContent': {
templateUrl: 'views/walkthrough/walkthrough.html',
controller: 'WalkthroughCtrl'
}
}
})
.state('app.base1', {
url: '/base1',
views: {
'menuContent': {
templateUrl: 'views/base1/base1.html',
controller: 'Base1Ctrl'
}
}
})
.state('app.base2', {
url: '/base2',
views: {
'menuContent': {
templateUrl: 'views/base2/base2.html',
controller: 'Base2Ctrl'
}
}
})
.state('app.base3', {
url: '/base3',
views: {
'menuContent': {
templateUrl: 'views/base3/base3.html',
controller: 'Base3Ctrl'
}
}
})
.state('app.add_question', {
url: '/add_question',
views: {
'menuContent': {
templateUrl: 'views/add_question/add_question.html',
controller: 'AddQuestionCtrl'
}
}
})
$urlRouterProvider.otherwise('/app/walkthrough');
});
volevo solo testare l'opzione 2 per curiosità. e poi non vedo una barra di navigazione solo il titolo. Più interessato all'opzione 1. Quindi dovrei eliminare il percorso app che ora è il genitore corretto? – GY22
Puoi vedere il titolo, significa che c'è una barra, forse lo sfondo è bianco ... Per la prima scelta, continuo a non pensare che sia necessario rovinare lo stato. Puoi provare a disabilitare il pulsante Indietro prima di accedere alla pagina base123 – Jaaaaaaay
Risposta aggiornata che mostra come disabilitare il pulsante Indietro quando si cambia stato – Jaaaaaaay