vue3 useRoute无法获取get参数的问题解决

 更新时间:2026年03月17日 08:46:32   作者:一方_self  
本文主要介绍了vue3 useRoute无法获取get参数的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

总结:

使用route.query无法获取到get参数,开发模式代码改动能拿到,但是刷新又没了,需要监听route.query才能拿到get参数。

正文:

我的常规使用方法:

先安装vue-router

npm install vue-router@next

创建src/router/index.js:

import { createRouter, createWebHistory } from 'vue-router'
import HelloWorld from '../components/HelloWorld.vue';
const routes = [
{ path: '/', component: HelloWorld },
]
const router = createRouter({
history: createWebHistory(),
routes,
})
export default router

在main.js中使用路由:

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
const app = createApp(App)
app.use(router)
app.mount('#app')

最后在组件或页面中使用:

<script setup lang="ts">
import { watch } from 'vue'
import { useRoute } from 'vue-router'
const route = useRoute()
watch(() => route.query, (newQuery) => {
console.log('query', newQuery)
}, { immediate: true });
</script>

使用watch才能拿到get参数,这里的watch会执行两次:

我的应用场景是:当get参数中canInput等于1时,才显示页面某个元素,我的代码如下:

const canInput = ref(false) // 是否可以输入参数

watch(() => route.query, (newQuery) => {
  console.log('query', newQuery)
  // 使用可选链操作符安全访问 canInput
  if (typeof newQuery?.canInput === 'string') {
  	// 将 string 类型断言为 number
 	 canInput.value = Number(newQuery.canInput) === 1;
  } else {
  	canInput.value = false;
  }
}, { immediate: true });

如果只是用route.query,可能拿不到get参数,关于其中的原因我也不太清楚,有知道的朋友可以在评论告知我。

到此这篇关于vue3 useRoute无法获取get参数的问题解决的文章就介绍到这了,更多相关vue3 useRoute无法获取get参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue实例简单方法介绍

    Vue实例简单方法介绍

    这篇文章主要为大家详细介绍了Vue实例的一些简单方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • vue mounted()函数中无法定义初始化样式的原因分析

    vue mounted()函数中无法定义初始化样式的原因分析

    这篇文章主要介绍了vue mounted()函数中无法定义初始化样式的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Vue.js中$refs{}如何获取DOM元素

    Vue.js中$refs{}如何获取DOM元素

    这篇文章主要介绍了Vue.js中$refs{}如何获取DOM元素问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 关于element-ui resetFields重置方法无效问题及解决

    关于element-ui resetFields重置方法无效问题及解决

    这篇文章主要介绍了关于element-ui resetFields重置方法无效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 从零到一详聊创建Vue工程及遇到的常见问题

    从零到一详聊创建Vue工程及遇到的常见问题

    这篇文章主要介绍了从零到一详聊如何创建Vue工程及遇到的常见问题 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • 详解Vue3框架的搭建及工程目录

    详解Vue3框架的搭建及工程目录

    文章介绍了如何使用Node.js搭建Vue工程,并对Vue工程目录进行了详细解读,包括各种文件夹和文件的作用,此外,还讲解了如何设置网页标题和全局样式,以及如何配置路由,感兴趣的朋友一起看看吧
    2025-03-03
  • 使用antv替代Echarts实现数据可视化图表详解

    使用antv替代Echarts实现数据可视化图表详解

    这篇文章主要为大家介绍了使用antv替代Echarts实现数据可视化图表详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 详解Vue中状态管理Vuex

    详解Vue中状态管理Vuex

    vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。
    2017-05-05
  • Vite引用本地静态资源的正确方式

    Vite引用本地静态资源的正确方式

    在前端开发中,除了通过 API 动态请求的数据外,还有一些诸如 HTML 文件、图片、字体等文件需要在项目中被用到,通常这些被视为静态资源,本文将基于 Vite + React 来讲述并解锁 Vite 引用本地静态资源的正确姿势,需要的朋友可以参考下
    2024-12-12
  • vue使用echarts实现地图的方法详解

    vue使用echarts实现地图的方法详解

    这篇文章主要为大家详细介绍了vue使用echarts实现地图的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论