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

网站开发上线流程最受欢迎的十大培训课程

网站开发上线流程,最受欢迎的十大培训课程,做平台的网站有哪些内容,乐清定制网站建设在 Vue 3 中&#xff0c;使用 vue-router 传递路由参数是非常常见的需求。 1. 使用动态路由参数&#xff08;params&#xff09; 动态路由参数是定义在路由规则中的占位符部分&#xff0c;例如 /user/:id。你可以通过 router.push 或 <router-link> 传递这些参数。 (1…

在 Vue 3 中,使用 vue-router 传递路由参数是非常常见的需求。

1. 使用动态路由参数(params

动态路由参数是定义在路由规则中的占位符部分,例如 /user/:id。你可以通过 router.push<router-link> 传递这些参数。

(1) 配置动态路由
import { createRouter, createWebHistory } from 'vue-router';const routes = [{path: '/user/:id', // 动态参数 :idcomponent: () => import('@/views/UserDetail.vue')}
];const router = createRouter({history: createWebHistory(),routes
});export default router;
(2) 通过 router.push 传递参数 
import { useRouter } from 'vue-router';export default {setup() {const router = useRouter();const navigateToUser = (userId) => {router.push({ name: 'user', params: { id: userId } }); // 传递参数};return { navigateToUser };}
};
(3) 在目标组件中获取参数
 
import { useRoute } from 'vue-router';export default {setup() {const route = useRoute();const userId = route.params.id; // 获取动态参数return { userId };}
};

 

2. 使用查询参数(query

查询参数是 URL 中 ? 后面的部分,例如 /search?name=Vue&id=123。你可以通过 router.push<router-link> 传递查询参数。

(1) 通过 router.push 传递查询参数
import { useRouter } from 'vue-router';export default {setup() {const router = useRouter();const navigateToSearch = () => {router.push({path: '/search',query: { name: 'Vue', id: 123 } // 传递查询参数});};return { navigateToSearch };}
};
(2) 在目标组件中获取查询参数
import { useRoute } from 'vue-router';export default {setup() {const route = useRoute();const name = route.query.name; // 获取查询参数const id = route.query.id;return { name, id };}
};

 3. 使用命名路由(推荐)

如果你的路由配置中定义了 name 属性,可以通过命名路由传递参数,这样可以避免硬编码路径。

(1) 定义命名路由
const routes = [{path: '/user/:id',name: 'user', // 定义路由名称component: () => import('@/views/UserDetail.vue')}
];
(2) 通过 router.push 使用命名路由传递参数
import { useRouter } from 'vue-router';export default {setup() {const router = useRouter();const navigateToUser = (userId) => {router.push({name: 'user', // 使用路由名称params: { id: userId } // 传递动态参数});};return { navigateToUser };}
};

4. 使用 <router-link> 传递参数

除了编程式导航(router.push),你还可以通过 <router-link> 传递参数。

(1) 传递动态参数
<template><router-link :to="{ name: 'user', params: { id: 123 } }">跳转到用户详情页</router-link>
</template>
(2) 传递查询参数
<template><router-link :to="{ path: '/search', query: { name: 'Vue', id: 123 } }">跳转到搜索页</router-link>
</template>

 5. 区分动态参数和查询参数

类型位置示例 URL获取方式
动态参数 (params)路径中/user/123route.params.id
查询参数 (query)URL 的 ? 后/search?name=Vue&id=123route.query.name

6. 注意事项

  1. 动态参数会被移除

    • 如果你在导航时切换了路由,但没有重新设置动态参数,那么参数会被清除。
    • 解决方法:确保在导航时重新传递参数,或者使用 watch 监听 route.params 的变化。
  2. 查询参数不会被移除

    • 查询参数会保留在 URL 中,直到你手动清除或覆盖它们。
  3. 强制刷新页面时丢失参数

    • 如果用户刷新页面,动态参数和查询参数仍然可以从 route.params 和 route.query 中获取。

7. 完整示例

路由配置
const routes = [{path: '/user/:id',name: 'user',component: () => import('@/views/UserDetail.vue')},{path: '/search',name: 'search',component: () => import('@/views/SearchPage.vue')}
];
导航组件
<template><div><!-- 传递动态参数 --><router-link :to="{ name: 'user', params: { id: 123 } }">查看用户详情</router-link><!-- 传递查询参数 --><router-link :to="{ path: '/search', query: { name: 'Vue', id: 123 } }">搜索内容</router-link></div>
</template>
接收参数的目标组件
<template><div><p>用户 ID: {{ userId }}</p><p>查询参数 Name: {{ name }}</p><p>查询参数 ID: {{ id }}</p></div>
</template><script>
import { useRoute } from 'vue-router';export default {setup() {const route = useRoute();const userId = route.params.id; // 获取动态参数const name = route.query.name; // 获取查询参数const id = route.query.id;return { userId, name, id };}
};
</script>

总结

  • 动态参数:适合用于 URL 中明确标识资源的情况,例如 /user/123
  • 查询参数:适合用于可选参数或过滤条件,例如 /search?name=Vue&id=123
  • 命名路由:推荐使用命名路由,避免硬编码路径。

 

 
 
 

 
 

http://www.dtcms.com/wzjs/344150.html

相关文章:

  • 关注网站怎么做免费域名 网站
  • 网站上的缩略图怎么做清晰友链查询站长工具
  • 网站交易平台建设守游网络推广平台登陆
  • 建设物流网站的规划成都关键词优化报价
  • 网站备案程序短视频培训机构
  • 委托网站建设合同范本青岛百度seo排名
  • 网络营销论文范文网站关键词怎样优化
  • 住建网查询资质seo优化教学视频
  • 独立站快速建站沈阳网站优化
  • 中山网站制作工具网站模板搭建
  • 郑州网站推广信息网络优化师
  • vs做b s网站网页制作模板的网站
  • 东高端莞商城网站建设如何做营销活动
  • 制作网站需要哪些素材巨量引擎广告投放平台官网
  • 销售网站免费做广告投放平台都有哪些
  • 创业网站怎么做的做销售怎样去寻找客户
  • 一个网站同时做百度和360 百度商桥都可以接收客户信息吗谷歌play商店官网
  • 网站建设 发票江西省seo
  • 管理软件网站模板潍坊网站建设平台
  • 那些做环保网站的好网站关键词排名批量查询
  • 网站建设可信赖培训学校
  • wordpress网站导入seo搜索引擎优化怎么做
  • 深圳商业网站建设去哪家黄冈免费网站推广平台汇总
  • 手机网站一键分享成都最好的网站推广优化公司
  • 南康网站网站建设seo推广软件费用
  • 色情网站在国外安阳企业网站优化外包
  • 企业品牌网站开发制作合同东莞seo计费
  • 网上做网页网站任务赚钱网络推广外包代理
  • python能做网站开发吗国家免费职业技能培训
  • 做网站是什么网站seo优化推广外包