You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue通过router-link向Book组件传参报错,该如何排查错误?

问题修复方案

你的代码存在3处核心错误,按以下步骤修改即可正常运行:

  • 错误1:router-link的to属性不支持直接传递props字段,所有路由跳转参数都需要放在params配置项中
    修正后的router-link写法:
    <router-link :to="{ name: 'Book', params: { id: book.id, data: data.attributes } }">跳转至书籍页</router-link>
    
  • 错误2:Book.vue中id属性的类型定义与实际传入值不匹配,路由路径参数:id默认传入类型为字符串/数字,同时你需要新增data属性用来接收传递的自定义数据
    修正后的Book.vue代码:
    export default {
      props: {
        id: {
          // 可根据你的实际book.id类型调整,比如仅保留Number或者String
          type: [Number, String],
          required: true
        },
        data: {
          type: Object,
          required: true
        }
      }
    }
    
  • 现有router/index.js的配置props: true无需修改,该配置会自动将路由params中的所有参数映射为对应组件的props属性。

补充注意事项

如果需要页面刷新后参数不丢失,可将非路径参数转成JSON字符串放到query中传递,避免params非路径参数刷新丢失的问题。

内容的提问来源于stack exchange,提问作者Selaminko Elam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:45:04