我有一个使用Ionic/Cordova构建的简单应用程序。在每个页面中,我想创建一个简单的“返回”阻止按钮-用户可以按它以转到应用程序中的上一页。

我正在考虑使用$ ionicHistory进行此操作。但是,方法$ ionicHistory.goBack()无法正常工作。

我当前使用的是正常的window.history.back(),它可以工作,但是我不明白为什么 ionic 方法不能正常工作。

这是代码 View :

<button class="button button-block button-assertive" ng-click="goBackHandler()">
   Go Back
</button>

这是 Controller :
angular.module('starter.controllers', ['ionic'])

.controller('AppCtrl', function($scope, $ionicHistory)
{
    $scope.goBackHandler = function()
    {
        $ionicHistory.goBack();                      //This doesn't work
        //window.history.back();                          //This works
        //alert('code to go back called. Did it work?');  //For testing
    }
});

这应该很简单。我可能会缺少什么?

编辑:在这里Plunker-http://plnkr.co/yJqdfs

最佳答案

$ionicHistory.goBack()仅在具有路由以及使用$state.go('testPage')导航到另一个屏幕时才有效。

在矮人里,你已经
<a href="test.html">Go to Test Page</a>
这是浏览器的常规重定向, IonicHistory 无法帮助您。

ionic 历史记录将根据其具有的状态堆栈进行工作。

因为当您使用href="test.html"重定向时,不会将任何状态推送到“ ionic 历史记录”,因此$ionicHistory.goBack()找不到任何后退状态。

关于javascript - 具有IonicHistory.goBack()的按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32315335/

10-12 15:44