首页 文章

通过$ state.go ionic改变视图后,没有可见的离子后退按钮

提问于
浏览
0

我有2个视图如下

.state('tab.matches', {
    url: '/matches',
    views: {
      'tab-matches': {
        templateUrl: 'templates/bant-tab-matches.html',
        controller: 'MatchesCtrl'
      }
    }
  })
    .state('tab.matches-detail', {
    url: '/matches/:matchId/:userId/:userName',
    views: {
      'tab-matches': {
        templateUrl: 'templates/bant-tab-matches-detail.html',
        controller: 'MatchesDetailCtrl'
      }
    }
  })

我在一个不同的视图上有一个按钮,在点击时调用控制器中的一个功能,如下所示:

$scope.messageUser = function (postInfo) {

$state.go('tab.matches-detail', { matchId: var1, userId: var2, userName: var3 });

}

这会按预期重定向到tab.matches-detail视图,但不存在后退按钮 . 我想将后退按钮重定向回父视图 tab.matches ,或者我最初重定向的视图 . 如果我从 tab.matches 导航到 tab.matches-detail (当我没有被 $state.go 重定向时),则会出现后退按钮 . 然而,当调用 $state.go 时,我会直接转到 tab.matches-detail . 因此我无法再访问 tab.matches ,就好像我点击另一个选项卡然后返回 tab.matches 它显示 tab.matches-detail 无法访问 tab.matches 的父状态 . 我无法弄清楚如何让后退按钮显示 . 我需要从控制器而不是视图中的href控制它,因为我需要从Actionsheet调用类似的功能,其中逻辑是所有控制器端 .

对于相当冗长的解释表示歉意,但我希望在这个问题上保持清醒 .

在此先感谢您的帮助 .

安东尼

1 回答

  • 0

    要解决此问题,我通过在 <ion-view> 标记中设置 hide-back-button="true" 将视图中的后退按钮设置为不可见,然后添加 Headers 按钮,如下所示:

    <ion-nav-buttons side="left"  class="button-clear customButton">
      <div class = "buttonMatchesInner" ng-click="matchesGoBack()">        
        <i class="ion-chevron-left matchLeftIcon"></i>
      </div>
    </ion-nav-buttons>
    

    点击事件调用:

    $scope.matchesGoBack = function() {
            $state.go('tab.matches');
        }
    

相关问题