vue使用query传对象页面刷新数据丢失问题

26 篇文章 1 订阅

问题

路由中的query传参,页面刷新后应该是还在的,但是如果传递的是数组或对象,那么他就会变成:【object object 】这是因为他给转成字符串了,解决方式也很简单,在你要传参的地方用JSON.stringify(),接收数据的地方用JSON.parse(),就可以解决这个问题。

父组件

<template>
    <div
      class="mainContainer"
      v-for="(item, index) in informationData" :key="index">
      <div
        id="index"
        class="headerLeftBox ConBox"
        @click="BoxClick('/refer/commoditytype', JSON.stringify(item))"
        style="font-size:24px; cursor:pointer;"
      >
      <img :src="item.src" alt="">
        {{ item.name }}
      </div>
    </div>
 </template>
 export default {
  data() {
    return {
             informationData: [
			        {
			          id: 1,
			          name: "超级大乐透",
			          content: "超级大乐透X",
			          src:require('../../assets/img/logo_dlt.png')
			        },
			        {
			          id: 2,
			          name: "七星彩",
			          content: "七星彩X",
			           src:require('../../assets/img/logo-7xc.png')
			        }
			     ]
             }
        },
        methods:{
               BoxClick(route, item) {
			      this.$router.push({
			        path: route,
			        query: {
			          items: item,
                        },
                  });
              },
        }
  }

子组件

  methods: {
    init() {
      this.contentData = JSON.parse(this.$route.query.items);
      this.$route.meta.title = `${this.contentData.name}详情`;
    },
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值