首页IT科技vue 获取所有路由(vue3:获取当前路由地址)

vue 获取所有路由(vue3:获取当前路由地址)

时间2025-06-19 01:32:18分类IT科技浏览13669
导读:// router的 path: "/user/:uid" <template> <...

// router的 path: "/user/:uid" <template> <div>user</div> <p>uid: {{ uid }}</p> </template> <script> import { defineComponent } from "vue"; import { useRouter } from "vue-router"; export default defineComponent({ name: "User", setup() { const router = useRouter(); const uid = router.currentRoute.value.params.uid; return { // 返回的数据 uid, }; }, }); </script>

useRouter()返回的是object, 类似于vue2的this.$router

而router.currentRoute是RefImpl对象, 即我们使用ref返回的对象, 通过.value可以访问到当前的路由, 类似于vue的this.$route

使用console.log打印出来看看

方式二:window.location 可以直接获取当前窗口的路径

1.window.location.href(当前URL)

        结果:http://www.myurl.com:8866/test?id=123&username=xxx

2.window.location.protocol(协议)

        结果:http

3.window.location.host(域名 + 端口)

        结果:www.myurl.com:8866

4.window.location.hostname(域名)

        结果:www.myurl.com

5.window.location.port(端口)

        结果:8866

6.window.location.pathname(路径部分)

        结果:/test

7.window.location.search(请求的参数)

        结果:?id=123&username=xxx setup(){ const router = useRouter(); onMounted(() => { console.log("router",router.currentRoute.value) if(window.location.pathname=="/askQuestions"){ // if(router.currentRoute.value.path=="/askQuestions"){ console.log("消失;;;;;;") document.getElementById("navSearch").style.display="none" } }); }

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
前端调用高德地图(前端加载高德离线地图的解决方案)