vue-router 路由守卫

import Router from 'vue-router';
import vue from 'vue'
import home from "./home";

vue.use(Router);

//路由懒加载
// 方法一,es6语法,常用的加载
const home = () => import('./page/home')

//方法二,组件异步懒加载,直接在下面component中使用
component:resolve => (require(['./page/home']), resolve)


const router = new Router(
    {
        routes: [
            {
                path: '/home',
                name: 'home',
                component: home,
                meta: {
                    title: '首页'
                },
                //独享路由守卫
                beforeEnter: function (to, f, n) {
                    next();
                }
            }
        ]
    }
);
//路由守卫,4种
//第一种,前置路由守卫,跳转前进入
router.beforeEach((to, from, next) => {
    if (to.meta.title == '') {
        next()
    }
})
//第二种,后置路由守卫,从路由页面离开
router.afterEach((to, from) => {

})
//第三种,独享路由守卫,用在定义路由路径上

//第四种,组件路由守卫,在组件内的路由守卫
//组件进入前,该方法中不能访问到this,因为this组件还没有被创建
beforeRouteEnter(to,f,n){
    next();
}
//组件,路由变化时,该方法可以访问this
beforeRouteUpdate(to,f,n){
    next()
}
//组件路由离开时,该方法可以访问this
beforeRouteLeave(to,f,n){
    next();
}
export default router;



//main.js中挂载全局
import router from "./router/router.js";

new vue({
    router
}).$mount('#app')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值