Vue-router route传参

背景:

我想要跳转传参,结果一直用的useRouter,应该用useRoute,浪费的好长时间,这里可以看文章
route和router的区别-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_36942042/article/details/102503807
博客中的区别

1. router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,包含了所有的路由包含了许多关键的对象和属性。例如history对象

2. route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等

实例:

跳转前的页面

import { useRouter } from 'vue-router'

const router = useRouter();

const contentDetail = (item: Job) => {
  // todo("跳转到活动详情,将id传过去");
  router.push({ path: '', query: { id: item.id, flag: 1 } });
}

跳转后的页面

import { useRoute, useRouter } from 'vue-router'


const route = useRoute();


function init() {
  console.log("flag得值:", route.query.flag)
  console.log("flag得类型:", typeof route.query.flag)
}

注意,router4.1.4将params删了,具体请看下方问题的回答

vue-router - vue3中params跳转到的页面拿不到params的值? - SegmentFault 思否icon-default.png?t=N7T8https://segmentfault.com/q/1010000042469850

类似这种的想要仅仅传一个id过去,这种可以用router发送,用局部的route接收,因为局部的route可以被读取相应的属性。

其实传值还有一种方法,将它变为路径变为"/test:id",这种的,我忘了叫啥了,感兴趣的可以搜搜,或者看官方文档,不过这个好像有局限性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值