我很努力地處理後退按鈕並向用戶詢問確認,如果應用程序狀態很髒。關閉選項卡並重新加載已通過onbeforeunload
鉤子處理。在AngularJS中處理路線變化
我玩過$routeChangeStart
,$beforeRouteChange
等,但無法正確處理。 使用$routeChangeStart
,在我的回調被調用之前,路由被有效地改變。
什麼是處理這種情況的正確方法是什麼?
感謝您的幫助。
我很努力地處理後退按鈕並向用戶詢問確認,如果應用程序狀態很髒。關閉選項卡並重新加載已通過onbeforeunload
鉤子處理。在AngularJS中處理路線變化
我玩過$routeChangeStart
,$beforeRouteChange
等,但無法正確處理。 使用$routeChangeStart
,在我的回調被調用之前,路由被有效地改變。
什麼是處理這種情況的正確方法是什麼?
感謝您的幫助。
我相信$ locationChangeStart會在你喜歡的時候觸發。
你可以使用:
$scope.$on('$routeChangeStart', function(next, current) {
//broadcasted before a route change
// do something here
});
查看更多的是:$route
我很抱歉,我已經在使用$ routeChangeStart,但在處理它之前,我的路由被有效地更改(在URL欄中)。 – 2013-04-22 07:06:14
我覺得有一個誤解,網址欄已更改,因爲路由引擎正在響應*。當然它已經改變了!它會怎樣知道要打什麼路線? :-)但是你仍然可以選擇不處理路由,這是$ routeChangeStart的作用。我認爲這是最好的方法。 – 2013-05-05 01:52:39
請家長控制器髒狀態的模型,通用於所有的意見?如果任何視圖的控制器檢測到髒狀態,則會出現警告/確認,並顯示一個「取消」按鈕,將$ location.path(...)重置爲髒頁面。
這個活動是不錯的。不幸的是,有一個錯誤,從來沒有被後退按鈕觸發,它剛剛在Angular中修復:https://github.com/angular/angular.js/pull/2206 – 2013-05-05 19:24:13