实时获取当前页面路由,刷新不丢失获取到的路由

从网上找到好多方法,现在整理总结一下,先把网上找到的方法说一下,自己在项目里面用过,表示没问题,可以用。

当前页面 Vue如何获取当前页面的url,获取路由地址

  1. 完整url可以用 window.location.href
  2. 路由路径可以用 this.$route.path
  3. 路由路径参数 this. r o u t e . p a r a m s 例 如 : / u s e r / : i d → / u s e r / 2044011030 → t h i s . route.params 例如:/user/:id → /user/2044011030 → this. route.params/user/:id/user/2044011030this.route.params.id
  4. 路由查询参数 this. r o u t e . q u e r y 例 如 : / u s e r / s e a r c h ? n a m e = s f → t h i s . route.query 例如:/user/search?name=sf → this. route.query/user/search?name=sfthis.route.query.name

1

这些方法都是可以在简单的一些需求可以用到,也是没问题的,但是经过测试还是存在一个BUG,页面第一次加载切换的时候,用第二条是没问题的,但是,页面刷新后,之前获取到的路由,就木有啦,这就很烦,下面记录一下,我在项目里面如何实时获取到路由,不管点击切换到那个页面都可以实时获取,刷新也可以获取之前的路由。

在这里插入图片描述

2

我现在需要通过路由中的某个参数来判断项目中一些地方的显示和隐藏,这个路由是正常切换出来的,但是当我点击下面绿色字体跳转详情的时候,会跳转到这个路由上

在这里插入图片描述

3

但是当这次点击跳转详情页的时候路由变了,在用第二条的时候,就获取不到路由了,就很头疼,然后我就在项目里面写了一个这个方法,所有的问题都解决了。

 // 监听页面路由变化
    $route:{
      handler:function(route){
          console.log(route);
      },
      immediate:true
    }


把这个方法写在watch里面。实时监听就好啦,不管怎么切换,怎么刷新,都可以获取到当前页面的路由啦~~~~~~~~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值