首页 文章

ion-nav-back-button无法使用带参数的视图

提问于
浏览
0

我正在尝试使用离子框架和angularJS开发应用程序 .

我使用$ stateProvider和$ urlRouterProvider在视图中导航 . 我在页面上有 ion-nav-back-button ,导航到历史记录中的上一个视图 .

这是我的路由逻辑,

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

我的问题是,离子导航后退按钮适用于没有参数的视图 . 但是,如果我在具有参数的视图之前,它将不会返回到历史记录中的视图 . 而是转到默认页面 .

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

EDIT

$ionicHistory.goBack();

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

任何人都可以建议我,我应该怎么处理历史中添加参数的视图?

2 回答

  • 0

    在url param中只放置“:id” . 像这样:

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

    来自文档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();
      };
    }
    

相关问题