vue如何在一个页面点击某事件携带参数跳转另外页面?

产品需求

后台系统有一个主页面,里面包含了另外其他页面的数据汇总,点击某个字段要跳到对应页面去详细查看其数据。
如图:点击橙色数字便会跳到相应页面去看具体数据
在这里插入图片描述

实现方法

1.首先要给橙色数据添加相应的点击事件,并携带必要的参数,例如当前行的某些数据。我这里是需要传对应的工厂。
代码如下:

// An highlighted block
          <template slot-scope="scope">
            <span
              class="cursor"
              @click="jumpDetail('directRate',scope.row.directRate,scope.row.factoryId)"
            >
              {{ scope.row.directRate }}
            </span>
          </template>

2.因为有很多数据我选择用switch来进行不同页面的跳转。
代码如下:

      switch (value) {
        case 'directRate':
          this.$router.push({ path: '/fastReport/rolledYield' })
          break
        case 'finalExamRate':
          this.$router.push({ path: '/fastReport/inspactQualified' })
          break
        case 'firstExamRate':
          this.$router.push({ path: '/fastReport/productQualified' })
          break
        case 'incomingBacthRate':
          this.$router.push({ path: '/fastReport/onlineDefective' })
          break
        case 'repairRate':
          this.$router.push({ path: '/fastReport/poorMaintenance' })
          break
        default:
          break
      }

【注】此时遇到一个问题,由于跳转到的页面需要使用缓存,所以需要把主页面点击的 橙色数据对应的一些数据 暂时保存在window的缓存中,方便跳转到的页面去调用。

增加缓存到window

window.sessionStorage.setItem('facQltValue', JSON.stringify(params))```

取出缓存使用

this.routerData = JSON.parse(window.sessionStorage.getItem('facQltValue'))

3.大家肯定会说一些参数可以放到switch中的query/params去携带,我之前也是这样写的,但是公司会对一些安全性考虑,到最后选择以这种方式把参数携带过去。

好了,如果大伙有其他好的建议或者疑问,欢迎提出来(●ˇ∀ˇ●)~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值