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

Vue3 路由传参:玩转 params,让页面交互更流畅!

嘿,小伙伴们!今天给大家带来的是Vue3中使用params进行路由传参的小技巧。不管是新手小白还是进阶玩家,这篇文章都会让你对Vue3的路由管理有更深的理解。废话不多说,直接进入实战演练!🎉


🔍 为什么要用params

在前端开发中,页面间的跳转与数据传递是再常见不过的需求了。Vue Router 提供了多种方式来传递数据,其中params是最直接的一种。通过URL中的路径参数(path parameters),我们可以轻松地在页面间传递必要的数据,让用户体验更加流畅。

💻 实战案例:创建一个动态路由

假设我们正在开发一个博客应用,每个文章都有一个唯一的ID。我们需要实现点击文章标题后跳转到详情页,并展示对应的文章内容。

  1. 第一步:安装 Vue Router

    如果还没有安装Vue Router,可以通过npm或yarn来安装:

    npm install vue-router@4
    # 或者
    yarn add vue-router@4
    
  2. 第二步:配置路由

    创建router.js文件,并配置我们的路由:

    import { createRouter, createWebHistory } from 'vue-router';
    import Home from './views/Home.vue';
    import ArticleDetail from './views/ArticleDetail.vue';const routes = [{ path: '/', component: Home },// 动态路由,通过 :id 来接收参数{ path: '/article/:id', component: ArticleDetail }
    ];const router = createRouter({history: createWebHistory(),routes,
    });export default router;
    
  3. 第三步:传递参数

    在主页中,我们添加一个链接,点击后跳转到详情页,并传递文章ID:

    <template><div><h1>Welcome to My Blog</h1><ul><li v-for="article in articles" :key="article.id"><!-- 使用 to 属性,并传入对象形式 --><router-link :to="{ name: 'article', params: { id: article.id } }">{{ article.title }}</router-link></li></ul></div>
    </template><script>
    export default {data() {return {articles: [{ id: 1, title: 'Vue3 入门指南' },{ id: 2, title: 'JavaScript ES6 新特性' },// 更多文章...];};},
    };
    </script>
    
  4. 第四步:接收参数

    ArticleDetail组件中,我们可以通过$route.params.id来获取传递过来的文章ID,并展示对应的文章内容:

    <template><div><h2>{{ article.title }}</h2><p>{{ article.content }}</p></div>
    </template><script>
    export default {computed: {article() {const id = this.$route.params.id;// 假设我们有一个方法来获取文章数据return this.getArticleById(id);}},methods: {getArticleById(id) {// 这里可以调用API获取文章数据// 示例中直接返回一个静态文章if (id === '1') {return { id: 1, title: 'Vue3 入门指南', content: '欢迎来到Vue3的世界...' };}// 更多文章...}}
    };
    </script>
    

🌟 小贴士
  • 动态路由:记得在路由配置中使用:id这样的占位符来捕获路径中的参数。
  • 传递与接收:使用router-link:to属性来传递参数,并在目标组件中通过$route.params来接收。
🚀 结语

通过今天的实战演练,相信小伙伴们已经掌握了Vue3中使用params进行路由传参的基本技巧。快去试试吧,让你的应用交互更上一层楼!如果有任何疑问或想了解更多高级玩法,欢迎留言交流。我们下次再见!👋

相关文章:

  • 设计模式-PIMPL 模式
  • RNN模型学习
  • C++ 排序算法
  • 自适应查询优化(Adaptive Query Optimization, AQO)技术简介
  • react crash course 2024(5) useState钩子
  • DPDK 简易应用开发之路 2:UDP数据包发送及实现
  • 记录打鼾软件
  • 2024最新版 Tuxera NTFS for Mac 2023绿色版图文安装教程
  • 基于单片机的智能温控风扇系统的设计
  • llamafactory0.9.0微调qwen2.5
  • 深度学习驱动智能超材料设计与应用
  • 云服务器连接不上是什么原因引起的?
  • spark 大表与大表join时的Shuffle机制和过程
  • 【视频讲解】非参数重采样bootstrap逻辑回归Logistic应用及模型差异Python实现
  • 【STM32】 TCP/IP通信协议(1)
  • 网络传输文件的问题
  • 《剑指offer》分解让复杂问题更简单
  • canvas 高仿 Apple Watch 表盘
  • css选择器
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • node入门
  • npx命令介绍
  • springMvc学习笔记(2)
  • Vue 重置组件到初始状态
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 智能合约开发环境搭建及Hello World合约
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • #162 (Div. 2)
  • #DBA杂记1
  • (1)bark-ml
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (k8s中)docker netty OOM问题记录
  • (备忘)Java Map 遍历
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (学习日记)2024.02.29:UCOSIII第二节
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (原创)可支持最大高度的NestedScrollView
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • ./和../以及/和~之间的区别
  • .NET DataGridView数据绑定说明
  • .NET 设计模式初探
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NetCore部署微服务(二)
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .Net环境下的缓存技术介绍
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • .NET企业级应用架构设计系列之开场白
  • @Responsebody与@RequestBody
  • [1181]linux两台服务器之间传输文件和文件夹