vue路由传递对象,使用JSON对象

本文介绍了在前端开发中,如何通过路由传递对象参数。当需要将对象从一个页面传递到另一个页面时,必须将其转换为JSON字符串。在主页面,使用`JSON.stringify()`将对象转为JSON,然后通过路由查询参数传递。在编辑页面,接收到的数据是字符串,需要使用`JSON.parse()`还原成对象。此过程对于正确地在不同页面间传递复杂数据至关重要。
摘要由CSDN通过智能技术生成

场景:

点击编辑按钮,通过路由跳转到编辑页面,同时将当前行的内容通过路由传参传给编辑页面。

由于数据是一个对象,类似于:

 我最开始是:

//主页面
if (id.prevRow) {

//1.id.row就是上图所示的数据

    const data = id.row
    console.log('我要去编辑页面 ')
    router.push({
      path: '/system/role/add',
      query: {
        data: data
      }
    })
  }

//编辑页面

//route.query接收路由传的参数
if (route.query.data) {
    // 编辑页面
    form = route.query.data
    show = false
  } 

结果接收到的数据为:只有类型没有数据

 需要将对象转化为JSON对象才可以

//主页面
JSON.stringify将对象转为json对象
if (id.prevRow) {
    const data = JSON.stringify(id.row) 
    router.push({ 
      path: '/system/role/add',
      query: {
        data: data
      }
    })
  }

//编辑页面
JSON.parse将json对象转为对象
 if (route.query.data) {
    // 编辑页面
    form = JSON.parse(route.query.data)
    show = false
  } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值