0

Ich kämpfe mit so einer einfachen Sache. Ich habe ein Seitenmenü in ionischen. Ich möchte, dass die Post-Seite eine untergeordnete Ansicht der Startseite darstellt. Aber wenn ich von der Homepage zur Post-Seite navigiere, fehlt die Zurück-Schaltfläche. Ich bin mir auch nicht sicher, wie man die Navbar definiert (index.html, menu.html oder post.html).Ionische Seite Menü: keine Zurück-Taste auf Seite

Router:

$stateProvider 

.state('menu', { 
    url: '/menu', 
    abstract: true, 
    templateUrl: 'templates/menu.html' 
}) 

.state('menu.home', { 
    url: '/home', 
    views: { 
    'menuContent': { 
     templateUrl: 'templates/home.html', 
     controller: 'HomeCtrl', 
     resolve: {authResolve: authResolve} 
    } 
    } 
}) 

.state("post", { 
    url: "/home/:uid/:postId", 
    templateUrl: "templates/timeline/post.html", 
    controller: "PostCtrl as post", 
    resolve: {authResolve: authResolve} 
}) 

index.html:

<body ng-app="starter" animation="slide-left-right-ios7"> 
    <div> 
     <div> 
      <ion-nav-bar> 
       <ion-nav-back-button side="left" class="button-icon ion-arrow-left-c"></ion-nav-back-button> 
      </ion-nav-bar> 
      <ion-nav-view></ion-nav-view> 
     </div> 
    </div> 

menu.html:

<ion-side-menus enable-menu-with-back-views="true"> 
    <ion-side-menu-content> 
     <ion-nav-bar class="bar-positive"> 

      <ion-nav-buttons side="left"> 
       <button class="button button-icon button-clear ion-navicon" menu-toggle="left"></button> 
      </ion-nav-buttons> 
     </ion-nav-bar> 
     <ion-nav-view name="menuContent"></ion-nav-view> 
    </ion-side-menu-content> 

post.html:

<ion-view> 
    <ion-nav-bar> 
    <ion-nav-back-button side="left" class="button-icon ion-arrow-left-c"></ion-nav-back-button> 
    </ion-nav-bar> 

Antwort

0

die Zurück-Taste muss nur in der höheren Vorlage (wiederholen Sie es nicht in der post.html). Um die Zurück-Schaltfläche in post.html zu aktivieren, muss die Ansicht ein untergeordnetes Element in der menu.html-Vorlage sein. Dazu müssen Sie den Weg Notwendigkeit post.html zu erklären wie:

.state("menu.post", { 
    url: "/post/:uid/:postId", 
    views: 
     'menuContent' :{ 
      templateUrl: "templates/timeline/post.html", 
      controller: "PostCtrl as post", 
      resolve: {authResolve: authResolve} 
     } 
}) 

ionic example Sehen Sie besser zu verstehen, was passiert.

+0

Das Problem, wenn ich dies tun, ist, dass anstelle der Zurück-Taste ich das Nav-Symbol, das das Seitenmenü öffnet. – dms

0

Versuchen Sie, .state ('post') zu .state ('menu.post') zu ändern, um einen Teil des Menüs zu veröffentlichen.

Ebenso, wenn Post ist ein Unterhaus, können Sie es wie menu.home.post ketten.