2016-11-26 99 views
1

我有一個ion-list與導致項目:如何導航到NavController子頁面的同級頁面?

  • 兒童頁A
  • 兒童網頁B
  • 兒童網頁C

當子頁面B,我想轉到先前(子頁面A)和下一頁面(子頁面C)頁面,同時保持後退按鈕返回到父頁面。

一個例子是iOS中的郵件應用程序。當您查看郵件時,它會向上和向下箭頭移至上一個/下一個郵件。

我在描述此行爲的文檔中找不到任何內容。

注意這是標記爲ionic2

回答

0

這個孩子導航欄

<ion-nav-bar class="bar-light"> 
    <ion-nav-buttons side="left"> 
     <i class="button button-clear button-positive icon ion-android-arrow-back" ng-click="goParent();"></i> 
    </ion-nav-buttons> 
    <ion-nav-buttons side="right"> 
     <button type="submit" class="button button-positive button-clear icon ion-arrow-up-b" ng-click="goPrevious()"></button> 
    </ion-nav-buttons> 
    <ion-nav-buttons side="secondary"> 
     <button type="submit"class="button button-positive button-clear icon ion-arrow-down-b" ng-click="goNext()"></button> 
    </ion-nav-buttons> 
</ion-nav-bar> 

這app.js

.state('parent', { 
    url: '/parent', 
    templateUrl: 'templates/parent.html', 
    controller: 'ParentCtrl' 
    }) 

    .state('parent-child', { 
    url: '/parent/child/:mailSerialNumber', 
    templateUrl: 'templates/parent-child.html', 
    controller: 'ChildCtrl' 
    }) 

這controller.js

.controller('ChildCtrl', function ($stateParams, $location, $scope) { 

    $scope.URL = {}; 
    $scope.URL.Parent = "parent" 

    $scope.goParent = function() { 
     $location.url($scope.URL.Parent); 
    }; 

    $scope.Previous = $stateParams.mailSerialNumber - 1; 
    $scope.URL.Previous = "parent/child/" + $scope.Previous; 


    $scope.goPrevious = function() { 
     $location.url($scope.URL.Previous); 
    }; 

    $scope.Next = $stateParams.mailSerialNumber + 1; 
    $scope.URL.Next = "parent/child/" + $scope.Next; 

    $scope.goNext = function() { 
     $location.url($scope.URL.Next); 
    }; 

}) 
+0

謝謝。但問題是離子2。 –

1

我有完全相同的問題今天解決了它這樣做:

// Push the sibling page onto the stack. 
this.navCtrl.push(PageToPush, { fooParam : 'bar' }).then(()=> { 
    // There should be 3 pages in the stack now, and we need to remove the 2nd page (index 1) 
    this.navCtrl.remove(1); 
} 

其中this.navCtrlNavController一個實例。這是假設你總是從根頁面導航,並希望只保留一個子頁面在堆棧中。這樣做是將新頁面推入堆棧(這將在堆棧中爲索引2),然後一旦頁面被推入,從堆棧中刪除索引1頁面。

希望有所幫助。