Vue路由传递参数的三种方式
通过动态路由方式
主要适用于传递一个参数的路由跳转,比如详情页。
//路由配置文件中 配置动态路由
{
path: '/detail/:id',
name: 'Detail',
component: Detail
}
//跳转时页面
var id = 1;
this.$router.push('/detail/' + id)
//跳转后页面获取参数
this.$route.params.id
通过params获取参数
Params只能通过name方式跳转路由。
不配置path参数
第一次获取路由参数能获取到,刷新页面后获取不到路由参数。
//路由配置文件中 不配置path参数
path: "/projFeedbackDetail",
name: "ProjFeedbackDetail",
component: ProjFeedbackDetail
//跳转时页面
this.$router.push({
name: "ProjFeedbackDetail",
params: {
prjId: this.prjId,
cycleId: this.cycleId,
feedbackIdKey: feedbackIdKey
}
});
//跳转后页面
this.prjId = this.$route.params.prjId;
this.cycleId = this.$route.params.cycleId;
this.feedbackIdKey = this.$route.params.feedbackIdKey;
配置path参数
第一次获取路由参数能获取到,刷新页面后也能获取到路由参数。注意参数必须存在,不能为nul或者‘’。
路由配置页面改为
//路由配置文件中 配置path参数
path: "/projFeedbackDetail/:prjId/:cycleId/:feedbackIdKey",
name: "ProjFeedbackDetail",
component: ProjFeedbackDetail
通过query获取参数
Query可以使用name和path两种方式跳转路由.。
//路由配置文件中
{
path: '/detail',
name: 'Detail',
component: Detail
}
//跳转时页面
this.$router.push({
path: '/detail',
query: {
name: '张三',
id: 1,
}
})
//跳转后页面获取参数对象
this.$route.query
params和query获取路由参数的区别
query类似 get, 跳转之后页面 url后面会拼接参数,类似?id=1, 非重要性的可以这样传, 密码之类还是用params配置path参数的方式。
params类似 post, 跳转之后页面 url后面不会拼接参数 , 但是如果不配置path参数的话刷新页面参数会消失
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)