验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

Vue3怎么获取地址栏参数

阅读:560 来源:乙速云 作者:代码code

Vue3怎么获取地址栏参数

Vue3 获取地址栏参数有两个方式:查询参数和路径参数。

Vue3获取地址栏参数是从路由router中获取,查询参数和路径参数获取方式不一样。

一、查询参数

比如地址 http://127.0.0.1:5173/?code=123123,
我们要获取code参数可以路由router获取,注意是route.query

首先需要在router/index.js中定义好路由

import { createRouter, createWebHistory } from 'vue-router'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      name: 'home',
      component: () => import('../views/home.vue')
    },
  ]
})

export default router

然后就可以在组件中通过useRouter获取query参数了


import {useRouter} from 'vue-router'

const { currentRoute } = useRouter();
const route = currentRoute.value;

onMounted(()=>{
  let code=route.query.code
  console.log('code', code)
})


二、路径参数

路径参数指的是参数是拼接在地址栏中的。
比如地址 http://127.0.0.1:5173/123123
最后的123123就是参数。

这种参数首先要定义要路由,在路由中对参数进行命名,下面代码中:code就是命名一个路径参数code

首先需要在router/index.js中定义好路由以及路径参数

import { createRouter, createWebHistory } from 'vue-router'

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/:code',
      name: 'home',
      component: () => import('../views/home.vue')
    },
  ]
})

export default router

接着就可以在home.vue组件中通过路由useRouter得到参数,注意是route.params


import {useRouter} from 'vue-router'

const { currentRoute } = useRouter();
const route = currentRoute.value;

onMounted(()=>{
  let code=route.params.code
  console.log('code', code)
})


三、注意点

入口页面App.vue必须定义好router-view标签,不能图简单将上面定义的home组件直接引入到App.vue中,如果直接引入走的就不是路由了,因而通过useRouter也无法获取到路由参数了

如下错误示例:




import home from './views/home.vue';

正确应该是使用router-view标签




分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>