首页 > 其他分享 >Vue中怎么使用router进行页面传参

Vue中怎么使用router进行页面传参

时间:2024-03-13 22:05:03浏览次数:24  
标签:传参 Vue URL 查询 参数 router 路由

在响应式编程中,使用 Vue Router 传递参数通常涉及到以下几个方面:

1. 动态路由匹配

动态路由匹配允许你根据 URL 中的参数来渲染不同的组件。这在显示用户信息、博客文章等需要根据 ID 或其他标识符来区分内容的情况下非常有用。
例如,如果你想根据用户 ID 显示不同的用户信息页面,你可以定义一个动态路由:

const router = new VueRouter({
  routes: [
    {
      path: '/user/:userId',
      component: UserProfile
    }
  ]
});

在这个例子中,:userId 是一个动态片段,可以在 UserProfile 组件中通过 this.$route.params.userId 来访问。

2. 查询参数(Query Params)

查询参数(也称为查询字符串参数)是在 URL 之后附加的键值对,它们不会影响路由,但可以传递额外的信息。
例如,你可以使用查询参数来传递筛选条件:

// URL: /users?search=John
const router = new VueRouter({
  routes: [
    {
      path: '/users',
      component: UserList
    }
  ]
});

UserList 组件中,你可以这样获取查询参数:

export default {
  mounted() {
    console.log(this.$route.query.search); // 输出 URL 中的 search 查询参数的值
  }
};

3. 编程式导航

编程式导航是 Vue Router 提供的 API,允许你通过 JavaScript 代码来导航,而无需使用 <router-link>
例如,使用 $router.push 方法添加路由参数:

this.$router.push({
  path: '/user/' + userId,
  query: { search: 'someSearchTerm' }
});

4. 在 <router-link> 中传递参数

你还可以在 <router-link> 组件中直接传递参数:

<router-link :to="{ path: '/user/' + userId }">User Profile</router-link>
<router-link :to="{ path: '/users', query: { search: 'someSearchTerm' } }">Search Users</router-link>

在 Vue 3 中,使用 Vue Router 传递参数是非常直观和灵活的。你可以根据需要选择使用路由参数或查询参数,以及使用编程式导航或 <router-link> 来更新应用的 URL。

标签:传参,Vue,URL,查询,参数,router,路由
From: https://blog.csdn.net/willluckysmile/article/details/136665197

相关文章

  • Vue3——axios 安装和封装
    axios安装和封装安装npminstallaxios最后通过axios测试接口!!!axios二次封装在开发项目的时候避免不了与后端进行交互,因此我们需要使用axios插件实现发送网络请求。在开发项目的时候我们经常会把axios进行二次封装。目的:1:使用请求拦截器,可以在请求拦截器中处理......
  • Node+Vue毕设高校教师项目申报管理平台(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在高等教育领域,教师参与科研项目是推动学科发展和创新的重要途径。随着科研竞争的加剧,高校教师需要积极申报各类科研项目以获取资金支持。然而,项目申报过程......
  • Node+Vue毕设高校实践活动管理平台(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在全面提升学生实践能力和创新精神的当代教育背景下,高校实践活动成为了教学体系中不可或缺的一部分。这些活动包括社会实践、科研实践、志愿服务、技能培训......
  • Node+Vue毕设购物网站的设计与渗透测试(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在电子商务迅猛发展的今天,购物网站已成为人们日常生活的一部分。一个具备良好用户体验、安全可靠的购物网站能够吸引并留住大量用户,对于提升品牌影响力和实......
  • Node+Vue毕设风投项目管理(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在当今快速发展的科技与经济时代,风险投资(VentureCapital,简称VC)扮演着至关重要的角色。它为初创企业和创新项目提供了必要的资金支持,帮助它们在市场中站稳脚......
  • Node+Vue毕设福州旅游网站(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:福州,作为福建省的省会城市,拥有丰富的历史文化遗产和独特的自然风光。随着旅游业的快速发展,越来越多的人选择到福州旅游,体验这座城市的魅力。然而,目前福州市......
  • Vue学习笔记51--解绑组件自定义事件
    解绑组件自定义事件//this.$off('defineMyEvent')//解绑一个自定义事件//解绑多个自定义事件//this.$off(['defineMyEvent','demoEvent'])//等价于this.$off()//解绑所有自定义的事件this.$off()注意:如果vm被销毁,则其所有......
  • Vue — VueX
    一、VueX概述1.概述:vuex是一个vue的状态管理工具,状态就是数据;可以帮助我们管理vue通用的数据(多组件共享的数据)2.场景:(1)某个状态在很多个组件中使用例如个人信息 (2)多个组件共同维护一份数据例如购物车3.优势:(1)共同维护一份数据,数据集中化管理(2)响应式变化(3)操作简单(vuex......
  • vue3 生命周期06
    众所周知,vue2有生命周期,而vue3也有而vue2的created和beforecreated在vue3中都由setup替代了<scriptsetuplang="ts">import{onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmount,onUnmounted}from'vue'console.log('创建生命周期')o......
  • Vue学习笔记50--组件自定义事件
    props--将子组件的信息传递给父组件 <!--通过父组件给子组件传递函数类型的props实现:子给父传递数据-->  <School:getShcoolName="getShcoolName"></School>示例一:App.vue<template><divclass="app"><!--<imgsrc="./assets......