這篇文章帶給大家的內容是關於JavaScript中Vue-router有哪些鉤子及應用?有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Vue-router有哪些鉤子?使用場景?
router的實作可以點這裡
前面我們用大白話講過什麼是鉤子,這裡在重複一下,就是在什麼什麼之前,什麼什麼之後,英文叫hooks,專業點叫生命週期,裝逼點可以叫守衛...
vue-router中也存在鉤子的概念,分為三步驟記憶
全域守衛
路由獨享守衛
元件獨享守衛
const router = new VueRouter({ ... }) // to 要进入的目标路由对象 // from 当前的路由对象 // next resolve 这个钩子,next执行效果由next方法的参数决定 // next() 进入管道中的下一个钩子 // next(false) 中断当前导航 // next({path}) 当前导航会中断,跳转到指定path // next(error) 中断导航且错误传递给router.onErr回调 // 确保前置守卫要调用next,否然钩子不会进入下一个管道 router.beforeEach((to, from, next) => { // ... })
// 与前置守卫基本相同,不同是没有next参数 router.afterEach((to, from) => { // ... })
#路由獨享守衛
const router = new VueRouter({ routes: [ { path: '/', component: Demo, beforeEnter: (to, from, next) => { // ... }, afterEnter: (to, from, next) => { // ... }, } ] })
元件獨享守衛
const Demo = { template: `...`, beforeRouteEnter (to, from, next) { ... }, // 在当前路由改变,但是该组件被复用时调用 beforeRouteUpdate (to, from, next) { ... }, beforeRouteLeave (to, from, next) { ... } }
總結
以上是JavaScript中Vue-router有哪些鉤子及應用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!