我有一个使用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/