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.js应用开发中,Vue Router 提供了许多特性来简化前端路由管理和用户体验,其中一个重要的特性便是路由重定向和别名,它们可以帮助我们更好地管理和组织路由,本文将详细介绍如何在Vue Router中使用路由重定向和别名,需要的朋友可以参考下
    2024-09-09
  • 使用Vue CLI创建typescript项目的方法

    使用Vue CLI创建typescript项目的方法

    这篇文章主要介绍了使用Vue CLI创建typescript项目的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex)

    uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex)

    这篇文章主要介绍了uniapp和vue组件之间的传值(父子传值,兄弟传值,跨级传值,vuex),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • vuex安装失败解决的方法实例

    vuex安装失败解决的方法实例

    Vuex是一个专为Vue.js应用程序开发的状态管理模式,下面这篇文章主要给大家介绍了关于vuex安装失败解决的方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 用electron打包vue项目中的报错问题及解决

    用electron打包vue项目中的报错问题及解决

    这篇文章主要介绍了用electron打包vue项目中的报错问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Vue刷新后页面数据丢失问题的解决过程

    Vue刷新后页面数据丢失问题的解决过程

    在做vue项目的过程中有时候会遇到一个问题,就是进行F5页面刷新的时候,页面的数据会丢失,这篇文章主要给大家介绍了关于Vue刷新后页面数据丢失问题的解决过程,需要的朋友可以参考下
    2022-11-11
  • Vue中代码传送(teleport)的实现

    Vue中代码传送(teleport)的实现

    本文主要介绍了Vue中代码传送(teleport)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • vue实现密码显示与隐藏按钮的自定义组件功能

    vue实现密码显示与隐藏按钮的自定义组件功能

    本文通过两种思路给大家介绍vue实现密码显示与隐藏按钮的自定义组件功能,感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • vue实现按钮文字动态改变

    vue实现按钮文字动态改变

    这篇文章主要介绍了vue实现按钮文字动态改变方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • vue 项目 iOS WKWebView 加载

    vue 项目 iOS WKWebView 加载

    这篇文章主要介绍了vue 项目 iOS WKWebView 加载问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04

最新评论