当前位置: 首页>后端>正文

vue路由参数问题

路由注册

{
    path: `/score/:id`,
    component: score,
    name: "score",
  }
<router-link :to="`/score/123`">
router.push({name: "score",params: { id: 123,age:99 },});

地址栏 http://localhost:3000/score/123 age不会显示在地址栏
获取 route.params.id route.params.age
id刷新不丢失 age丢失

<router-link :to="{path:`/score`,query:{id:123}}">
router.push({name: "score",query: { id: 123 }});

地址栏 http://localhost:3000/score?id=123
获取 route.query.id
刷新不丢失

<router-link :to="{path:`/score/321`,query:{id:123}}">
router.push({name: "/score/321",query: { id: 123 },});

地址栏 http://localhost:3000/score/321?id=123
获取?前面的id route.params.id 后面的route.query.id
刷新不丢失

?只有地址栏的信息不会在刷新时丢失

使用name时,params,query都生效
query在地址栏展现形式是 path?key=value&key2=value2 刷新不会丢失
params在地址栏展现形式是 有两种情况
1.路由注册时为path/:id 传参时 id必传 params:{id:12,age:99} age不会展示到地址栏且刷新会丢失,id会展示到地址栏,并不会丢失
2.路由注册时为path 所有params都不会显示到地址栏,刷新会丢失
path query都生效,params不生效,直接patyh/${id}即可


https://www.xamrdz.com/backend/33m1936751.html

相关文章: