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

使用EventEmitter向父组件发射数组时返回undefined问题求助

问题根源与修复方案

嘿,我一眼就看到了关键问题,咱们一步步来解决:


1. 父组件模板的事件参数写错了(最可能的直接原因)

你父组件里的这段代码存在明显错误:

<app-inputs (event)="getDataFromChild($event)" (eventTwo)="getDataFromChildTwo($eventTwo)"></app-inputs>

Angular中,组件输出事件的发射数据默认只会绑定到$event变量上,不管你的EventEmitter叫什么名字,都得用$event来接收。你写的$eventTwo是一个不存在的变量,所以getDataFromChildTwo方法里的data自然就是undefined。

把它改成下面这样就可以正常接收数据了:

<app-inputs (event)="getDataFromChild($event)" (eventTwo)="getDataFromChildTwo($event)"></app-inputs>

2. 额外检查:确认子组件的fillArray本身有值

如果改完上面的问题还是拿到undefined,那就要确认子组件里的fillArray是不是真的被正确赋值了。你可以在子组件的sendNo方法里先打印一下这个变量,验证它的状态:

sendNo () {
  console.log('当前fillArray的值:', this.fillArray); // 先确认这个值存在
  this.event.emit({columns: this.height, rows: this.width});
  this.eventTwo.emit(this.fillArray);
}

如果这里打印出来就是undefined,那就要去检查getRnd()方法是不是正确给fillArray赋值了,或者给fillArray一个初始值(比如fillArray: any[] = [];),避免它处于未定义的状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:33:09