Ionic-Registerkarten und seitliche Menü-navigation Problem
Ich lernen und versuchen, zu erstellen eine Ionische app mit tabs kombinieren der Seite im Menü.
Hier ist, wie es aussieht (Codepen):
Der Seite-Menü-Teil ist okay. Dort ist ein weiterer link auf meiner Homepage. Hier ist mein problem: Nach Klick auf den link, ich kann gehen Sie zurück zu der vorherigen Seite, nur über die zurück-Taste. Und meine home tab funktioniert nicht. Ich versuche, um einen anderen link zu meiner about-Seite, und entweder die zurück-Taste oder home-tab werden konnte, gehen Sie zurück zur vorherigen Seite, das ist die Startseite.
Hier ist meine .js-Datei:
angular.module('demo', ['ionic'])
.config(function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/')
$stateProvider
.state('home', {
url: '/home',
templateUrl: 'home.html'
})
.state('about', {
url: '/about',
templateUrl: 'about.html'
})
.state('contact', {
url: '/contact',
templateUrl: 'contact.html'
})
})
.controller('MyCtrl', function ($scope, $ionicSideMenuDelegate) {
$scope.showRightMenu = function () {
$ionicSideMenuDelegate.toggleRight();
};
});
Suchte ich nach ähnlichen Problemen und versucht zu wechseln, das href-ui-sref. Die Registerkarte "home" funktioniert immer noch nicht. Hab ich was verpasst?
Und hier ist meine .html:
<body ng-app="demo" ng-controller="MyCtrl">
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-positive nav-title-slide-ios7">
<ion-nav-back-button class="button-clear">
<i class="ion-arrow-left-c"></i> Back </ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view></ion-nav-view>
<ion-tabs class="tabs-icon-top tabs-positive">
<ion-tab title="Home" icon="ion-home" ui-sref="home">
<ion-nav-view name="home"></ion-nav-view>
</ion-tab>
<ion-tab title="About" icon="ion-ios-information" ui-sref="about">
<ion-nav-view name="about"></ion-nav-view>
</ion-tab>
<ion-tab title="Setting" icon="ion-navicon" ng-click="showRightMenu()">
</ion-tab>
</ion-tabs>
</ion-side-menu-content>
<ion-side-menu side="right">
<ion-header-bar class="bar-dark">
<h1 class="title">Setting</h1>
</ion-header-bar>
<ion-content has-header="true">
<ion-list>
<ion-item>Setting</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
<script id="home.html" type="text/ng-template">
<ion-view view-title="Home">
<ion-content class="padding">
<a class="button button-stable button-block" ui-sref="contact">Contact</a>
<a class="button button-stable button-block" ui-sref="about">About</a>
</ion-content>
</ion-view>
</script>
<script id="about.html" type="text/ng-template">
<ion-view view-title="About">
<ion-content class="padding">
</ion-content>
</ion-view>
</script>
<script id="contact.html" type="text/ng-template">
<ion-view view-title="Contact">
<ion-content class="contactBg" scroll="false">
</ion-content>
</ion-view>
</script>
- Haben Sie versucht, meine Lösung? Cheers.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tabs haben eine Geschichte, die nur, wenn Sie navigieren Sie zu einem sub-Element; ein Kind-element in der tab. Das ist die einzige situation, sollten Sie eine Schaltfläche "zurück" innerhalb einer Registerkarte.
Erste Sache, die ich bemerkt habe, Sie verweisen auf eine alte version von Rahmen:
Ich würde vorschlagen, die Verwendung der aktuellsten, stabilen:
Dann Sie versuchen, wickeln Sie alles in einem großen container.
Normalerweise das, was Sie tun würden, um ein Menü zu erstellen (menu.html):
Wo Sie eine
<ion-nav-view name="menuContent"></ion-nav-view>
.Das ist der Ort, wo alle Ansichten geladen werden.
Habe ich versteckt die Navigations-Taste für das Menü, so dass Sie es nicht sehen:
Dann hätten Sie Ihre tabs-container (tabs.html):
Habe ich versteckte die Registerkarte Kontakte
class="ng-hide"
Ursache, die ich nicht wirklich verstehen, was Sie zu tun versuchen (es wird geladen, wenn Sie klicken Sie auf die Schaltfläche auf der Startseite):Jedes tab hat seine
ion-nav-view
container, in denen die spezifischen tabs geladen werden:Konfigurieren Sie Ihren Staaten so, dass das Menü ist das wichtigste, abstract state:
Den Zustand der Registerkarten-container (
app.tabs
) geladen werden, die in dermenuContent
während alle anderen (eigenes Register), haben Ihre eigene Ansicht:
Habe ich auch verwendet, eine Steuerung für die tabs-container =>
tabsController
:so verwalten Sie Ihre Seite-Menü.
Etwa Ihre app Aussehen sollte diese.