簡體   English   中英

Phonegap + AngularJS-后退按鈕行為

[英]Phonegap + AngularJS - back button behavior

數小時以來,我一直在嘗試在AngularJS應用程序中覆蓋Android的后退按鈕,但我做不到。 我已經能夠使“后退”按鈕停止工作,但無法使其退回甚至無法進入主頁。 我沒有使用路由-相反,我只是在切換頁面,所以我什至不確定是否可以返回。 如果我可以轉到主頁,那就太好了。 這是我的代碼:

  var onDeviceReady = function(){
   document.addEventListener("backbutton", handleDeviceBackButton, false);
}
function handleDeviceBackButton(){
  angular.element('[ng-controller=AppCtrl]').scope().goHome();
  menu.setMainPage('home.html', {closeMenu: true});
}

document.addEventListener("deviceready", onDeviceReady, false);

如果只需要回去使用

$window.history.back();

但是,我建議您使用ui-router之類的路由解決方案。 使用$ state,導航更加簡單:

$state.go('home');

您可以依靠瀏覽器的后退按鈕來代替通過PhoneGap添加事件偵聽器。 您的應用是網頁,因此Android上的“后退”按鈕將返回到您的歷史記錄狀態 避免設備事件,您可以直接在桌面瀏覽器中調試代碼。

如果要阻止特定的返回狀態或進行重定向,請使用:

$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
   if (from.name == "splashscreen" && to.name =="home"){
     //redirect using navigation $state service
   }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM