vue的beforerouteleave是vue-router提供的一個鉤子函數,該函數會在即將離開當前路由時觸發,開發者可以在該函數中執行一定的操作,例如數據保存、路由攔截等。
下面是一個簡單的例子:
beforeRouteLeave (to, from, next) { if (this.isDirty) { // 彈出提示框詢問用戶是否保存 if (window.confirm('您的修改還未保存,確定離開嗎?')) { // 確定離開,調用next()方法 next(); } else { // 取消離開,調用next(false)方法 next(false); } } else { // 沒有修改,直接調用next()方法 next(); } }
上面的例子中,beforeRouteLeave函數檢測當前頁面是否有未保存的數據,如果有則彈出提示框詢問用戶是否保存,如果用戶點擊確定,則調用next()方法離開當前頁面,否則調用next(false)方法取消離開操作。
需要注意的是,在執行beforeRouteLeave函數時,路由還沒有被真正的離開,可以通過調用next(false)方法取消離開操作,或者調用next()方法繼續執行離開操作。
總之,beforerouteleave是一個非常有用的鉤子函數,可以讓我們在路由切換時執行必要的操作,增強了應用程序的健壯性。
下一篇mysql匹配度