vue3的params传参失效的解决方案state

 vue3使用vue-router4.0,但是使用router.push的params传参,一直拿不到参数

查阅资料如下:

 

—————————————————————————————————————————— 

state方案如下: 

要传参的组件

import { useRouter } from 'vue-router'
const router = useRouter() // router跳转

//某个按钮实现路由跳转
//state里面是参数
function editor(row) {
  router.push({
    name: 'EditorButton',
    state: {
      description: row.description,
      code: row.code,
      value: row.value
    }
  })
}

//这个name在router路由配置的时候写过了对应的组件

接受参数的组件:直接用即可

  <div>
        <span >配置项说明</span>
        <span>{{ editInfo.description }}</span>
  </div>

//拿到路由传过来的数据
const editInfo = reactive(history.state);

注意:好像只影响 router.push ,用to传参还是可以的

<router-link
       :to="{ name: 'GameDetail', params: { gameId: row.gameId } }">
       {{ row.gameName }}
</router-link>

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值