繁体   English   中英

ion-nav-back-button不适用于带有参数的视图

[英]ion-nav-back-button is not working with views with parameters

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

我已经使用$ stateProvider和$ urlRouterProvider在视图之间进行导航。 我在页面上有ion-nav-back按钮 ,可导航至历史记录中的上一个视图。

这是我的路由逻辑,

$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");

我的问题是,ion-nav-back-button可以在没有参数的情况下正常工作。 但是,如果我超前具有参数的视图,它将不会再出现在历史视图中。 而是转到默认页面。

例如,如果从“ Relation.html”视图转到以“ id”作为参数的下一个视图,则在下一个视图中,我可以看到后退按钮。 但是,如果我单击该按钮,它将带我到默认页面“ Suggessions.html”,而不是“ Relation.html”。

编辑

$ionicHistory.goBack();

使用$ ionicHistory返回的该代码也不起作用。 这意味着带有参数的视图不会添加到历史记录中。

谁能建议我,该如何处理要在历史记录中添加参数的视图?

在网址参数中仅放置“: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();
  };
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM