export default new Router({ mode: 'history', scrollBehavior, routes: [ { path: '/', name: 'StoreDemo', component: resolve => require(['../components/StoreDemo'], resolve), // 配置了scrollToTop爲true,點擊這個路由,頁面會滾到頂部 // 若是沒配置scrollToTop或配置scrollToTop爲false,點擊這個路由,頁面保持原先的滾動位置 // 效果說明:點擊這個路由後,滾動頁面隱藏頂部的一部分,再點擊路由:/promisedemo,頁面保持原先的滾動位置;再點擊這個路由,頁面會滾動到頂部,由於配置了scrollToTop爲true meta: { scrollToTop: true } }, { path: '/promisedemo', name: 'PromiseDemo', component: r => require.ensure([], () => r(require('../components/PromiseDemo')), 'demo') } ] })
詳細代碼見:https://github.com/cag2050/vue_product_demo/blob/master/src/router/index.jshtml
{ path: '/promisedemo', name: 'PromiseDemo', component: resolve => require(['../components/PromiseDemo'], resolve) }
{ path: '/promisedemo', name: 'PromiseDemo', component: r => require.ensure([], () => r(require('../components/PromiseDemo')), 'demo') }, { path: '/hello', name: 'Hello', // component: Hello component: r => require.ensure([], () => r(require('../components/Hello')), 'demo') }
問:使用vue-router以後,頁面的切換是局部刷新,這樣就會產生一個問題,若是某個頁面這個用戶沒有權限訪問,這個如何來控制?
答:有了導航鉤子,這個天然就能夠放到導航鉤子來執行。前端
點擊<router-link :to="...">
等同於調用router.push(...)vue
前端路由,直接請求相應的組件;
後端路由,請求後會將頁面整個刷新。webpack
location.href 會先走後端路由;git
next({ path: '/process' })
嵌套路由:childrengithub
當前路由路徑:this.$route.pathweb