詳解vue-router 2.0 常用基礎(chǔ)知識點之導(dǎo)航鉤子
導(dǎo)航鉤子
vue-router 提供的導(dǎo)航鉤子主要用來攔截導(dǎo)航,讓它完成跳轉(zhuǎn)或取消。有多種方式可以在路由導(dǎo)航發(fā)生時執(zhí)行鉤子:全局的, 單個路由獨享的, 或者組件級的。
全局鉤子
const router = new VueRouter({ ... })
router.beforeEach((to, from, next) => {
// do something
next();
});
router.afterEach((to, from, next) => {
console.log(to.path);
});
每個鉤子方法接收三個參數(shù):
- to: Route : 即將要進(jìn)入的目標(biāo) [路由對象]
- from: Route : 當(dāng)前導(dǎo)航正要離開的路由
- next: Function : 一定要調(diào)用該方法來 resolve 這個鉤子。執(zhí)行效果依賴 next
方法的調(diào)用參數(shù)。
- next(): 進(jìn)行管道中的下一個鉤子。如果全部鉤子執(zhí)行完了,則導(dǎo)航的狀態(tài)就是confirmed (確認(rèn)的)。
- next(false): 中斷當(dāng)前的導(dǎo)航。如果瀏覽器的 URL 改變了(可能是用戶手動或者瀏覽器后退按鈕),那么 URL 地址會重置到 from
- 路由對應(yīng)的地址。
- next('/') 或者 next({ path: '/' }): 跳轉(zhuǎn)到一個不同的地址。當(dāng)前的導(dǎo)航被中斷,然后進(jìn)行一個新的導(dǎo)航。
確保要調(diào)用 next方法,否則鉤子就不會被 resolved。
組件內(nèi)的鉤子
let fromPath = '';
export default{
beforeRouteEnter (to, from, next) {
// 在渲染該組件的對應(yīng)路由被 confirm 前調(diào)用
// 不!能!獲取組件實例 `this`
// 因為當(dāng)鉤子執(zhí)行前,組件實例還沒被創(chuàng)建
fromPath = from.path;
next();
},
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue-router配合ElementUI實現(xiàn)導(dǎo)航的實例
- VueRouter導(dǎo)航守衛(wèi)用法詳解
- vue實現(xiàn)nav導(dǎo)航欄的方法
- vue實現(xiàn)導(dǎo)航欄效果(選中狀態(tài)刷新不消失)
- vue 掛載路由到頭部導(dǎo)航的方法
- vue2導(dǎo)航根據(jù)路由傳值,而改變導(dǎo)航內(nèi)容的實例
- vue-router路由與頁面間導(dǎo)航實例解析
- vue router仿天貓底部導(dǎo)航欄功能
- 詳解VueRouter進(jìn)階之導(dǎo)航鉤子和路由元信息
- 詳解使用Vue Router導(dǎo)航鉤子與Vuex來實現(xiàn)后退狀態(tài)保存
- vue-router 導(dǎo)航鉤子的具體使用方法
- 詳解vue.js移動端導(dǎo)航navigationbar的封裝
- vue2.0實現(xiàn)導(dǎo)航菜單切換效果
- vue 和vue-touch 實現(xiàn)移動端左右導(dǎo)航效果(仿京東移動站導(dǎo)航)
- 非常實用的vue導(dǎo)航鉤子
- vue2.0 elementUI制作面包屑導(dǎo)航欄
相關(guān)文章
詳解vuex中action何時完成以及如何正確調(diào)用dispatch的思考
這篇文章主要介紹了詳解vuex中action何時完成以及如何正確調(diào)用dispatch的思考,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
vue3(optionApi)使用Element Plus庫沒有效果的解決方式
這篇文章主要介紹了vue3(optionApi)使用Element Plus庫沒有效果的解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
VUE跨域問題Access to XMLHttpRequest at
今天發(fā)現(xiàn)一個錯誤,VUE發(fā)送請求的時候不能請求到正確數(shù)據(jù),VUE跨域問題Access to XMLHttpRequest at,本文就詳細(xì)的來介紹一下解決方法,感興趣的可以了解一下2022-05-05

