AngularJS后退按钮

我正在使用Phonegap和AngularJS制作Android应用程序。 我正在尝试创建一个按钮,用作“取消”和“后退”按钮,这基本上只是点击浏览器的“后退”按钮。

这是取消按钮的一些示例HTML:

cancel 

这是该页面的控制器,带有goBack()按钮:

 function NewOccasionCtrl($scope, $window) { $scope.$window = $window; $scope.goBack = function() { $window.history.back(); }; } 

这不会引发错误,但也不起作用……模拟器仍保留在同一页面上。 没有$scope.$window = $window它会抛出一个错误。 我希望在不必创建/使用指令的情况下实现function性的“后退”按钮,因为据我所知,然后实现模板和我不需要/想要的东西。

有没有办法做到这一点? 谢谢

我使用指令使后台function可重用。 这是我的最终代码:

HTML:

 back 

使用Javascript:

 app.directive('backButton', function(){ return { restrict: 'A', link: function(scope, element, attrs) { element.bind('click', goBack); function goBack() { history.back(); scope.$apply(); } } } }); 

我有一个问题,使用phonegap和angular,$ window.history.back()不起作用。 所以我创建了一个解决方法。

 $scope.urlHistory = []; $scope.$on('$routeChangeSuccess', function () { if ($location.$$absUrl.split('#')[1] !== $scope.urlHistory[$scope.urlHistory.length - 1]) { $scope.urlHistory.push($location.$$absUrl.split('#')[1]); } }); $scope.goBack = function () { $scope.urlHistory.pop(); $location.path($scope.urlHistory[$scope.urlHistory.length - 1]); }; 

希望这有助于其他人。