根据提供的代码,我注意到在 A 文件中,'toGoodsOrder' 函数中的跳转语句使用了 'params' 和 'query' 两个选项来传递参数。但是在 B 文件中,使用的是 'route.query.orderId' 来获取参数。

要使参数能够正确传递并在 B 文件中获取,需要进行以下更改:

  1. 在 A 文件的跳转语句中,将 'params' 选项更改为 'props' 选项,并将 'OrderList' 更改为 'orderId'。这样可以将参数作为 props 传递给 B 文件。
  2. 在 B 文件中,使用 'props' 选项来接收参数,而不是使用 'route.query.orderId'。这样可以正确获取 A 文件传递的参数。

下面是更改后的代码示例:

A 文件代码:

function toGoodsOrder(orderId?: string) {
  console.log('到这里了吗', refundInfo.refund.orderId)
  router.push({
    name: "/OrderList",
    props: { orderId },  
    // 跳转到 OrderList 路由时,传递一个名为 orderId 的参数
    query: { newTitle: '订单管理[' + orderId + ']' },
    // 跳转时,附带一个查询参数 newTitle,参数值为'订单管理[' + orderId + ']' 
  });
}

<span style='color:blue;' @click='toGoodsOrder(refundInfo.refund.orderId)'>{{ refundInfo.refund.orderId }}</span>

B 文件代码:

onActivated(() => {
  console.log('从审核详情传回来的 id', props.orderId);
})

通过这些更改,你应该能够在 B 文件中正确打印出从 A 文件传递的 'orderId' 参数。

Vue Router 传递参数:使用 props 代替 query

原文地址: https://www.cveoy.top/t/topic/qDLn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录