A mio parere avere un sidemenu, per cose come le impostazioni e le pagine, combinato con le schede per l'app principale è un'interfaccia dell'app piuttosto essenziale e standard. Cose come l'app di Google Messenger lo usano.Come configurare sidemenu con le schede in ionico?
Sto faticando per farlo funzionare e vedo che ci sono molte domande a riguardo con pochissime informazioni soddisfacenti. Ho combinato un sidemenu con gli swipebox. Questo dovrebbe essere altrettanto facile. Usavo jQuery Mobile per le mie app, che è molto più rozzo di Ionic ma fare un'interfaccia come questa è facile e funziona bene.
Il problema che sto riscontrando è che i modelli di schede non vengono caricati nelle schede. Questo può essere qualcosa di stupido che mi manca, ma qui è il mio codice app.js frammento di:
config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('app', {
url: "/app",
abstract: true,
templateUrl: "templates/menu.html",
controller: 'AppCtrl'
})
.state('app.tabs', {
url: "/tabs",
views: {
'menuContent': {
templateUrl: "templates/tabs.html"
}
}
})
.state('tab.tab1', {
url: 'tab/tab1',
views: {
'tab-tab1': {
templateUrl: 'templates/tab-tab1.html',
controller: 'tab1Ctrl'
}
}
})
.state('tab.tab-tab2', {
url: 'tab/tab2',
views: {
'tab-tab2': {
templateUrl: 'templates/tab-tab2.html',
controller: 'tab2Ctrl'
}
}
})
.state('tab.extras', {
url: 'tab/extras',
views: {
'tab-extras': {
templateUrl: 'templates/tab-extras.html',
controller: 'AccountCtrl'
}
}
})
.state('app.about', {
url: "/about",
views: {
'menuContent': {
templateUrl: "templates/about.html",
controller: 'aboutCtrl'
}
}
});
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/app/tabs');
});
Il menu laterale funziona bene e posso navigare con al riguardo la pagina o torna alle schede. Le schede funzionano in quanto cambiano lo stato attivo e le icone cambiano colore, ma i modelli non vengono caricati in essi. Ho triplicato il doppio dei nomi di url.
Qualcuno sa come fare? Se ho fatto un piccolo errore da qualche parte e farlo funzionare, codepederò questo come un esempio di come creare questa interfaccia, tanto necessaria.
Modifica: come richiesto.
<ion-tabs class="tabs-icon-top tabs-color-active-assertive">
<ion-tab title="tab1" icon="ion-man" href="#/tab/tab1">
<ion-nav-view name="tab-tab1"></ion-nav-view>
</ion-tab>
<ion-tab title="tab2" icon="ion-person-stalker" href="#/tab/tab2">
<ion-nav-view name="tab-tab2"></ion-nav-view>
</ion-tab>
<ion-tab title="Extras" icon="ion-heart" href="#/tab/extras">
<ion-nav-view name="tab-extras"></ion-nav-view>
</ion-tab>
</ion-tabs>
Penso che tutti corrispondano, no?
Nota: per quanto riguarda la richiesta di questo è un duplicato; la mia app è un'app a schede con un menu laterale nella pagina di base. L'altra domanda riguarda un'applicazione con una serie di sezioni, una delle quali contiene schede. È una struttura completamente diversa.
Molto probabilmente il problema è che il 'nome's del' 's nel ** tabs.html ** non corrisponde a quelli nell'oggetto' views' per quello stato. Puoi pubblicare ** tabs.html **? C'è un buon Codepen sul sito ionico http://codepen.io/ionic/pen/odqCz –
drjimmie1976
L'ho aggiunto. Ah ah. Ho appena visto chi è. –
Ho notato che non hai uno stato 'tab' astratto per annidare le cose sotto. Potrebbero non essere registrati come stati figli se non esiste un genitore adatto. –