我有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控制它,因为我需要从一个操作表调用类似的功能,其中逻辑是所有控制器端。
为相当冗长的解释道歉,但我想在这个问题上明确。
提前感谢您的帮助。
安东尼
答案 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');
}