赞
踩
方式一:
import VueRouter from 'vue-router' const router = new VueRouter({ routes: [ { path: '/login', name: 'Login', component: () => import(/* webpackChunkName: "Login" */ '../components/Login') } ] }) // 全局前置路由守卫,表示在每次切换路由之前调用,针对所有的路由 router.beforeEach((to, from, next)=>{ // to表示去哪个路由,from表示来自哪个路由,next表示放行 // 可加判断条件进行放行 if(to.path !== '/login'){ // 判断要去的路由条件 if(localStorage.getItem('school') !== 'atguigu'){ // 缓存中这个参数如果不是'atguigu'则进入登录重新登陆 // 登录成功把这个值存储在缓存中 next('/login') } else{ next() } } else{ next() } }) export default router
方式二:
import VueRouter from 'vue-router' const router = new VueRouter({ routes: [ { path: '/login', name: 'Login', component: () => import(/* webpackChunkName: "Login" */ '../components/Login'), meta: {fangxing: true} // 配置路由元信息 } ] }) router.beforeEach((to, from, next)=>{ // 判断是否需要鉴权 if(to.meta.fangxing){ next() } }) export default router
import VueRouter from 'vue-router' const router = new VueRouter({ routes: [ { path: '/login', name: 'Login', component: () => import(/* webpackChunkName: "Login" */ '../components/Login'), meta: {title: '登录'} } ] }) // 全局后置路由守卫,表示在每次切换路由之后调用,针对所有的路由 router.afterEach((to, from)=>{ // to表示去哪个路由,from表示来自哪个路由,注意这里没有next document.title = to.meta.title || '测试网站' // 切换网页标题 }) export default router
import VueRouter from 'vue-router' const router = new VueRouter({ routes: [ { path: '/login', name: 'Login', component: () => import(/* webpackChunkName: "Login" */ '../components/Login'), meta: {fangxing: true}, // 独享路由守卫,独享路由守卫只有前置的,没有后置的 beforeEnter: (to, from, next) => { if(to.meta.fangxing){ next() } } } ] }) export default router
Login.vue文件中,
<script>
// 通过路由规则,进入该组件时被调用
beforeRouteEnter(to, from, next){},
// 通过路由规则,离开该组件时被调用
beforeRouteLeave(to, from, next){}
</script>
import VueRouter from 'vue-router'
const router = new VueRouter({
mode: 'history', // 开启history模式
routes: [
{
path: '/login',
name: 'Login',
component: () => import(/* webpackChunkName: "Login" */ '../components/Login')
}
]
})
export default router
重启浏览器,即可出现地址栏中没有 “#” 了,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。