Vue-编程式路由导航-路由守卫

1.

 2.代码实现:

methods:{
    pushshow(m){
    //  找路由器发送数据
      this.$router.push({
        query:{
          id:m.id,
          title:m.title,
        }
      })
    },
    replaceshow(m){
      this.$router.replace({
        query:{
          id:m.id,
          title:m.title,
        }
      })
    }
  }

前进与后退:

 代码:路由守卫

import { createRouter,createWebHistory } from "vue-router";
import Home from "@/pages/Home";
import About from "@/pages/About";
import News from "@/pages/news";
import Message from "@/pages/message";
import Detail from "@/pages/Detail";
const router = createRouter({
    history:createWebHistory(),
    routes:[
        {
            path:'/Home',
            component:Home,
            children:[
                {
                    path:'news',
                    component:News,
                    meta:{title:'主页'},
                    //独享路由守卫,只对一个路由进行守卫
                    beforeEnter:(to, from, next)=>{
                        next()
                    }
                },
                {
                    path:'message',
                    component:Message,
                    children:[
                        {
                            path:'detail',
                            component:Detail,
                            //都会以props的对象属性detail接收
                            // props:{}
                            //    第二种写法:值为布尔值,诺为真就把该路由组件收到的所有params参数,以props的形式给detail
                            // props:true
                        //    第三种:
                            props($route){
                                return {id:$route.query.id,title:$route.query.title}
                            }
                        }

                    ]
                },
            ]
        },
        {
            path:'/About',
            component:About,
        },
    ]
})


//全局前置路由守卫------每次切换之前调用,还有初始化调用
router.beforeEach((to, from, next)=>{
        //放行
        next()
})

//后置路由
// router.afterEach((to, from, failure) => {
//
//     document.title=to.meta.title || '系统'
//
//
// })

//独享路由守卫,只对一个路由进行守卫



export default router;

代码:组件守卫

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值