【问题标题】:Ionic back button with parent and child state具有父子状态的离子后退按钮
【发布时间】:2016-11-06 22:03:21
【问题描述】:

我有一个具有以下 ui-router 设置的 ionic 应用程序,其中 locations 状态是 mapfavourites 2 个状态的父级。 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。我的设置是否存在根本性问题?

**

  • 更新:

**

好的,所以在 UpdatesCtrl 里面我添加了这段代码来检查视图历史,无论我从哪里访问 /updates 视图,后视图都是 location.map

$scope.$on('$ionicView.enter', function() {
    console.log($ionicHistory.viewHistory());
}

【问题讨论】:

    标签: angularjs ionic-framework angular-ui-router state


    【解决方案1】:

    删除此参数:{'place_id': 'undefined'} 或确保通过 $stateparams.place_id 中的 place_id 传递

    我认为您正在以一个未知状态(未解决)结束并进入您的默认状态。

    您尚未发布您的默认位置路线。但我假设它有这个配置: $urelRouterProvider.ohterwise('/location.map');

    【讨论】:

    • 您的假设是正确的 - 我会尝试并检查。但我总是将 place_id 传递给“更新”状态。问题又回来了。
    • 实际上我尝试更改其他状态的路径并没有产生任何影响。它总是回到同一点。我遇到的另一件有趣的事情是,locations.map 的状态永远不会保存(或缓存),所以每当我去它时,它都会从头开始排序或加载
    猜你喜欢
    • 2018-06-10
    • 1970-01-01
    • 2015-02-08
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多