如何返回两个视图状态(如$ window.history.go(-2))?

时间:2014-03-15 21:09:23

标签: javascript angularjs ionic-framework

在Ionic中我可以回去使用:

var backView = $ionicViewService.getBackView();
backView && backView.go();

问题是如何在backView之前进入视图?类似的东西:

var backBackView = $ionicViewService.getView(-2);
backBackView && backBackView.go();

3 个答案:

答案 0 :(得分:16)

经过一些实验后,我结束了下一个解决方案:

var backView = $scope.$viewHistory.views[$scope.$viewHistory.backView.backViewId];
$scope.$viewHistory.forcedNav = {
    viewId:     backView.viewId,
    navAction: 'moveBack',
    navDirection: 'back'
};
backView && backView.go();

这对我来说很糟糕,但成功解决了这个问题。我希望这会对某人有所帮助。

更新:现在您可以实际调用

$ionicHistory.goBack(-2);

ionic's documentation中描述。

答案 1 :(得分:9)

我发现以下内容是深入视图堆栈时倒退的最快方式:

$ionicHistory.goBack();

我相信你可以在循环中多次调用它以继续回到视图历史记录中。当然,你必须在你的控制器中注入$ ionicHistory。

答案 2 :(得分:2)

现在可以使用$ionicGoBack(amount) cocoonjs

在夜间使用