通过$ state.go ionic

时间:2015-07-14 18:03:22

标签: ionic-framework ionic

我有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重定向时),则会出现后退按钮。但是,当调用tab.matches-detail时,我会直接转到$state.go。因此,我无法再访问tab.matches,就像我点击另一个标签然后返回tab.matches一样,它显示tab.matches-detail,无法访问tab.matches的父状态。我无法弄清楚如何显示后退按钮。我需要从控制器而不是视图中的href控制它,因为我需要从一个操作表调用类似的功能,其中逻辑是所有控制器端。

为相当冗长的解释道歉,但我想在这个问题上明确。

提前感谢您的帮助。

安东尼

1 个答案:

答案 0 :(得分:0)

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

<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');
    }