当前位置: 首页 > news >正文

解决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)// 使用可选链操作符安全访问 canInputif (typeof newQuery?.canInput === 'string') {// 将 string 类型断言为 numbercanInput.value = Number(newQuery.canInput) === 1;} else {canInput.value = false;}}, { immediate: true });

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

这篇分享文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

我的微信公众号:【xdub】,欢迎大家订阅,我会同步文章到公众号上。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 面试常见八股
  • 【MATLAB】数据和字符串类型转换
  • html+css网页设计 旅游 雪花旅行社5个页面
  • C#基础(11)函数重载
  • 【JS】将class转为构造函数需要注意的细节
  • 深度学习算法
  • 小鼠行为学实验——小鼠转棒实验【AbMole】
  • 脚本基本规则
  • 《团体标准组织综合绩效评价指标体系》深度解析
  • Go 中 RPC 的使用教程
  • 用网卡的ap模式抓嵌入式设备的网络包
  • python+adb
  • PHP即刻送达同城派送小程序系统
  • 数据分析-螺旋环状气泡图
  • 针对SVM算法初步研究
  • 分享一款快速APP功能测试工具
  • 【5+】跨webview多页面 触发事件(二)
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • CSS相对定位
  • Java 内存分配及垃圾回收机制初探
  • JavaScript设计模式之工厂模式
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • win10下安装mysql5.7
  • 工程优化暨babel升级小记
  • 解决iview多表头动态更改列元素发生的错误
  • 前端面试总结(at, md)
  • 前端之Sass/Scss实战笔记
  • 前端自动化解决方案
  • 说说动画卡顿的解决方案
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 微信小程序开发问题汇总
  • 交换综合实验一
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (¥1011)-(一千零一拾一元整)输出
  • (14)Hive调优——合并小文件
  • (52)只出现一次的数字III
  • (C语言)逆序输出字符串
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (十一)c52学习之旅-动态数码管
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)ABI是什么
  • (转)Linq学习笔记
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转载)从 Java 代码到 Java 堆
  • ../depcomp: line 571: exec: g++: not found
  • .gitignore不生效的解决方案
  • .NET MVC 验证码
  • .Net Web窗口页属性