ion-nav-back按钮不能用于带参数的视图

ion-nav-back-button is not working with views with parameters

本文关键字:参数 视图 用于 按钮 不能 ion-nav-back      更新时间:2023-09-26

我正在尝试使用ionic-framework和angularJS开发一个应用程序。

我使用了$stateProvider和$urlRouterProvider来在视图中导航。我有离子导航后退按钮在页面上,导航到以前的视图在历史。

这是我的路由逻辑

$stateProvider
      .state('sideMenu', {
          url: "/SideMenu",
          abstract: true,
          templateUrl: "Templates/SideMenu.html",
          controller: 'homeCtrl'
      })
.state('sideMenu.relations', {
         cache: true,
         url: "/Relations/:id",
         views: {
             'contentView': {
                 templateUrl: "Templates/Relations.html",
                 controller: "relationCtrl"
             }
         }
     });
 //only required navigation is shown here
  $urlRouterProvider.otherwise("/SideMenu/Suggestions");

我的问题是,离子导航-后退按钮工作ok的视图没有参数。但如果我在视图有参数之前,它就不会回到历史视图上。相反,它会进入默认页面。

例如,如果从"relationship .html"视图转到下一个视图,其中有"id"作为参数,在下一个视图中我可以看到后退按钮。但是如果我点击那个按钮,它会把我带到默认页面" recommendations .html"而不是" relationship .html"。

编辑

$ionicHistory.goBack();

使用$ionicHistory返回的代码也不能工作。这意味着带有参数的视图不会被添加到History中。

谁能建议我,我应该怎么做的视图与参数添加到历史?

url参数中只能输入":id"。这样的:

.state('sideMenu.relations', {
     cache: true,
     url: "/:id",
     views: {
         'contentView': {
             templateUrl: "Templates/Relations.html",
             controller: "relationCtrl"
         }
     }
 });

来自文档http://ionicframework.com/docs/api/directive/ionNavBackButton/

自定义内部标记和自定义点击动作,使用$ionicHistory:

<ion-nav-bar ng-controller="MyCtrl">
  <ion-nav-back-button class="button-clear"
    ng-click="myGoBack()">
    <i class="ion-arrow-left-c"></i> Back
  </ion-nav-back-button>
</ion-nav-bar>

控制器代码

function MyCtrl($scope, $ionicHistory) {
  $scope.myGoBack = function() {
    $ionicHistory.goBack();
  };
}