0
我有一個離子應用程序與以下ui路由器安裝程序,其中locations
狀態是2狀態的父母map
和favourites
。 updates
狀態是一種詳細信息可以從任何狀態訪問的頁面。離子後退按鈕與父母和孩子的狀態
.state('locations', {
abstract: false,
cache: true,
url: '/locations',
templateUrl: 'templates/locations.html',
controller: 'LocationsCtrl'
})
.state('locations.favourites', {
cache: true,
url: '/favourites',
templateUrl: 'templates/locations.favourites.html',
controller: 'LocationsFavouritesCtrl'
})
.state('locations.map', {
cache: true,
url: '/map',
templateUrl: 'templates/locations.map.html',
controller: 'LocationsMapCtrl'
})
.state('updates', {
cache: true,
url: '/updates/:place_id',
templateUrl: 'templates/updates.html',
controller: 'UpdatesCtrl',
params: {'place_id': 'undefined'}
})
// if none of the above states are matched, use this as the fallback
$urlRouterProvider.otherwise('/locations/map');
這是HTML
<body ng-app="app" animation="slide-left-right-ios7">
<div>
<div>
<ion-nav-bar class="bar-turq">
<ion-nav-back-button class="button-icon icon ion-ios-arrow-back light"></ion-nav-back-button>
</ion-nav-bar>
<ion-nav-view></ion-nav-view>
</div>
</div>
這完美的作品,除了在「更新」的返回按鈕的狀態總是可以追溯到去locations.map
,而不是想起了以前的狀態,也就是我可能來自locations.favourites
。我的設置有什麼根本性錯誤嗎?
**
- UPDATE:
**
好了,所以裏面UpdatesCtrl我加入這個代碼來檢查觀看歷史,不管在哪裏我訪問/更新視圖,後視圖是locations.map
$scope.$on('$ionicView.enter', function() {
console.log($ionicHistory.viewHistory());
}
你的假設是正確的 - 我會嘗試並檢查。但我總是將place_id傳遞給「更新」狀態。問題正在從它回來。 – rex
其實我試圖改變其他狀態的路徑,它沒有任何區別。它總是回到同一點。我遇到的另一個有趣的事情是locations.map的狀態永遠不會被保存(或緩存),所以無論我何時去它,它都會從頭開始排序或加載 – rex