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

Vue2子组件向父组件传参失败,如何正确传递参数?

Vue2子组件向父组件传参的正确方式

问题出在父组件的事件绑定写法上:你用goToSpots()的方式调用函数时,没有传递子组件通过$emit发送的参数,导致父组件的id参数无法接收到值,最终this.selected为undefined。

正确的两种写法:

  1. 直接绑定函数名(推荐):Vue会自动将$emit的参数传递给父组件的处理函数
<Main
    class="px-5"
    @goToSpots="goToSpots"
/>
  1. 使用箭头函数显式传递参数:如果需要在传递前做额外处理,可采用这种方式
<Main
    class="px-5"
    @goToSpots="(id) => goToSpots(id)"
/>

子组件的$emit代码无需修改,保持原有逻辑即可:

goTo(id: string) {
    this.$emit('goToSpots', id)
},

父组件的处理函数也保持不变:

goToSpots(id: string) {
    this.selected = id
},

内容的提问来源于stack exchange,提问作者El Hombre Sin Nombre

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 04:06:25