angular.js - 單頁應用(ng/vue)該如何監(jiān)聽用戶離開當前頁面(或者路由)?
問題描述
場景描述:在ng的某個路由中,需要在用戶離開當前路由時提示用戶是否確認離開
我的疑惑:如果是普通的應用,我們可以使用js來判斷用戶是否要離開,但是在單頁應用中,所有的跳轉離開其實都是在一個頁面中,我想判斷用戶是否離開當前路由,但是沒找到ng提供的公戶離開路由的方法
求各位前輩的思路~
問題解答
回答1:我只知道Vue可以
route: { deactivate() {... }}回答2:
ui-router里面有一個事件可以監(jiān)控狀態(tài)的改變,回調函數中參數可以記錄當前頁面$rootScope.$on(’$stateChangeStart’, function (event, toState, fromState){});
回答3:ng中如果使用ui-router來作為路由系統。可以使用ui-router的事件系統來對路由狀態(tài)的變化做出相應的業(yè)務邏輯。
$rootScope.$on(’$stateChangeStart’,function(event, toState, toParams, fromState, fromParams){ event.preventDefault(); // transitionTo() promise will be rejected with // a ’transition prevented’ error})
詳情可以參考ui-router中的$state
回答4:js原生通過hashchange事件,來監(jiān)聽頁面hash是否變化,在單頁面應用中,很多的框架都會封裝這個方法成鉤子函數。
相關文章:
1. mysql 查詢身份證號字段值有效的數據2. Python爬蟲如何爬取span和span中間的內容并分別存入字典里?3. mysql - 把一個表中的數據count更新到另一個表里?4. android - 分享到微信,如何快速轉換成字節(jié)數組5. 視頻文件不能播放,怎么辦?6. 請教使用PDO連接MSSQL數據庫插入是亂碼問題?7. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處8. visual-studio - Python OpenCV: 奇怪的自動補全問題9. python bottle跑起來以后,定時執(zhí)行的任務為什么每次都重復(多)執(zhí)行一次?10. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題
