beforeRouteEnter
項目需要在進入某個頁面前,判斷從特定頁面進來時,做某些處理。例如:只有從詳情頁回到列表頁需要重新調接口。此時,用到了beforeRouteEnter方法。
注意:在在內部獲取不到外部的this,方法、變量等都獲取不到。但vm可以獲取到method中的方法 以及變量,可以自行打印vm看一下
beforeRouteEnter (to, from, next) { next(vm => { // 通過 `vm` 訪問組件實例 vm.deleteScan(); }) }
beforeRouteLeave
在頁面離開時做的操作,最常見的場景:用戶修改了頁面某些字段,還沒有保存就要離開當前頁面。此時在頁面離開前需要給用戶提示
beforeRouteLeave(to, from, next) { this.alert(); next(); }, alert(){ alert('當前修改還未保存!'); }
此時函數內部可以訪問到this,重要:執行完要做的操作后,必須寫 next();,否則頁面不會走~