vue3页面组件中怎么获取上一个页面的路由地址

 更新时间:2024年02月23日 15:17:30   作者:lucky_zouzou  
这篇文章主要给大家介绍了关于vue3页面组件中怎么获取上一个页面的路由地址的相关资料,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下

vue2中获取上个页面的路由地址是用vue-router的beforeRouterEnter钩子

 beforeRouteEnter(to, from, next) {
   next(vm=>{          //  这里的vm就是vue实例,可以用来当做this使用
      console.log(to)
      console.log(from) //from便是上一个路由的地址
    })
  }

那vue3中怎么获取呢,在vue-router文档中没有找到相关的钩子,于是就在router中找一找,还真的找到了,mark一下~

import { useRouter } from 'vue-router';
const router = useRouter();

onMounted(()=>{
	console.log(router) //在router.options.history.state中back字段就可以看到上一个页面的路由信息(但是只能看到上一个)
})

打印出来是这个样子的:

这个back字段里就是上一个页面的路由。

但是需要注意的是这个页面的路由push到路由栈时才会有这个,也就是说如果上一个页面是通过replace进入这个页面时,back中不会有信息。

附:vue怎样拿到上一个路由的地址,解决点击返回不生效的问题

重复点击触发到当前路由,点击this.$router.go(-1),则还是会返回点击点的重复路由,解决办法如下:

进入页面的时候记录下进来的路由信息,存为全部变量,点击返回时切换到进来的路由

在vue生命周期里面加(记得在data里面声明pathEnterUrl)

beforeRouteLeave:离开路由之前执行的函数。

next();  下一步 ,放不放行,必须有这个,相当于一个按钮开启一样。

from 记录来的路由信息,to记录跳转目的路由信息

beforeRouteEnter(to, from, next) {
        next(vm => {
            vm.pathEnterUrl = from.fullPath
        })
    }
 goBack() {
            this.$router.push({ path: `${this.pathEnterUrl}` })
        },

总结

到此这篇关于vue3页面组件中怎么获取上一个页面的路由地址的文章就介绍到这了,更多相关vue3获取上一页面路由地址内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue3中进行二维码的生成与解码实现详解

    Vue3中进行二维码的生成与解码实现详解

    这篇文章主要为大家介绍了Vue3中进行二维码的生成与解码实现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • vue实现标签云效果的示例

    vue实现标签云效果的示例

    这篇文章主要介绍了vue实现标签云效果的示例,帮助大家更好的理解和使用vue框架,感兴趣的朋友可以了解下
    2020-11-11
  • 浅谈Vue数据响应

    浅谈Vue数据响应

    这篇文章主要介绍了浅谈Vue数据响应,Vue的数据响应主要是依赖了Object.defineProperty(),下面就具体来介绍一下如何实现数据响应
    2018-11-11
  • vue3手动删除keepAlive缓存的方法

    vue3手动删除keepAlive缓存的方法

    当我们未设置keepAlive的最大缓存数时,当缓存组件太多,会导致内存溢出,本文给大家介绍了vue3手动删除keepAlive缓存的方法,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • vue模板配置与webstorm代码格式规范设置

    vue模板配置与webstorm代码格式规范设置

    这篇文章主要介绍了vue模板配置与webstorm代码格式规范设置详细的相关资料,需要的朋友可以参考一下文章得具体内容,希望对你有所帮助
    2021-10-10
  • Vue+LogicFlow+Flowable实现工作流

    Vue+LogicFlow+Flowable实现工作流

    本文主要介绍了Vue+LogicFlow+Flowable实现工作流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • vue点击项目唯一id生成器nanoid的使用方式

    vue点击项目唯一id生成器nanoid的使用方式

    这篇文章主要介绍了vue点击项目唯一id生成器nanoid的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Vue Cli 3项目使用融云IM实现聊天功能的方法

    Vue Cli 3项目使用融云IM实现聊天功能的方法

    这篇文章主要介绍了Vue Cli 3项目 使用融云IM实现聊天功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 手把手教你Vue-cli项目的搭建

    手把手教你Vue-cli项目的搭建

    这篇文章主要为大家详细介绍了Vue-cli项目的搭建方法,文中图片介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 解决vue路由name同名,路由重复的问题

    解决vue路由name同名,路由重复的问题

    这篇文章主要介绍了解决vue路由name同名,路由重复的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08

最新评论