Vue页面跳转传递参数及接收

本文详细介绍了在Vue项目中,如何通过配置路由实现从列表页跳转到详情页时携带参数的方法。具体包括两种传递参数的方式:一是通过params对象,二是通过query对象,并解释了如何在目标页面中接收这些参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近接触了vue项目,这里记录一下vue跳转到下一页面携带参数的两种方式。

典型应用场景:列表页跳转到详情页

一、配置路由

文件路径:src/router/config.php

import Vue from 'vue'
import Router from 'vue-router'

import classify from '.././components/classify/classify.vue'

import classifyChild from '.././components/classify/classifyChild.vue'

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/classify',
      name: ' classify',
      component: classify
    },
    {
      path: '/classify/classifyChild',
      name: 'classifyChild',
      component: classifyChild
    },
    
  ]
})

二、页面跳转及传参

//方式一
<router-link :to="{name:'classifyChild',params:{id:item.id}}">
    <button>跳转</button>
</router-link>

//方式二
<router-link :to="{path:'/classify/classifyChild',query:{id:item.id}}">
    <button>跳转</button>
</router-link>

三、参数接收

//对应于方式一
let id=this.$route.params.id;

//对应于方式二
let id=this.$route.query.id;

### 实现 Vue页面跳转传递对象参数Vue.js 应用程序中,可以通过多种方式实现在页面跳转传递对象参数。主要的方式有: #### 1. 使用查询参数 (Query Parameters) 当需要传递的对象不是特别大且不需要保密时,可以考虑使用查询参数。这种方式会将参数附加到 URL 的后面。 ```javascript // 源页面代码示例 const userObject = { id: '123', name: '张三' }; router.push({ path: '/targetPage', query: { userData: JSON.stringify(userObject) } }); ``` 在目标页面中读取这些参数: ```javascript export default { mounted() { const receivedUser = this.$route.query.userData ? JSON.parse(this.$route.query.userData) : null; console.log(receivedUser); } } ``` 这种方法简单易懂,但是不适合用于传输敏感信息或较大的数据集[^1]。 #### 2. 利用命名视图与嵌套路由 对于更复杂的应用场景,比如单页应用中的多级导航结构,则可能需要用到命名视图以及嵌套子路由的功能来进行更加精细的数据管理[^2]。 不过针对直接传递整个对象的情况来说,这并不是最常用的选择。 #### 3. 使用 Vuex 或者其他状态管理模式 如果项目已经引入了Vuex作为全局的状态管理系统的话,那么可以直接把要共享的数据存入store里面,在任何地方都可以轻松访问到了。这对于跨多个组件甚至页面之间的通信非常有用[^3]。 #### 4. 通过 props 属性向动态加载的子组件传参 另一种常见做法是在设置路由的时候指定 `props` 字段为 true ,这样就可以让被渲染出来的组件接收到 route 对象上的属性作为自己的 prop 。适用于父子关系明确的情况下传递少量数据[^4]。 ```javascript { path: "/child/:id", component: ChildComponent, props: true } // 子组件内接收 <template> <div>{{ id }}</div> <!-- 这里的 id 就是从父级路由获得 --> </template> <script> export default { props: ['id'] }; </script> ``` 以上就是几种常见的 vue 路由页面跳转携带对象参数的方法及其实现思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值