Button with IonicHistory.goBack()

Button with IonicHistory.goBack()

本文关键字:goBack IonicHistory with Button      更新时间:2023-09-26

我有一个简单的应用程序构建与Ionic/Cordova。在每个页面,我想创建一个简单的"返回"块按钮-用户可以按下它去到上一页的应用程序。

我正在考虑使用$ionicHistory来做这个。但是,方法$ionicHistory.goBack()不起作用。

我目前正在使用通常的window.history.back(),它可以工作,但我不明白为什么离子方法不像它应该的那样工作。

下面是代码的视图:
<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 History将基于它所拥有的状态堆栈来工作。

因为当你使用href="test.html"重定向时,不会有任何状态被推送到Ionic History,所以$ionicHistory.goBack()找不到任何返回状态

请使用这个。这对我很有用。

window.history.back();