首页 文章

使用显示未定义的EventEmitter发出数组

提问于
浏览
0

我正在尝试向父组件发出一个数组,但是当我尝试使用console.log获取发出的数据时,我一直未定义,我的其他事件 Launcher 工作正常,事件二发出数组但是在控制台输出时给我未定义(只显示必要的代码) .

子组件ts文件:

@Output() eventTwo: EventEmitter<any> = new EventEmitter<any>();

// the emitting function (fillArray is the array I'm trying to send)

  sendNo () {
   this.event.emit({columns: this.height, rows: this.width});
   this.eventTwo.emit(this.fillArray);
 }

子组件html文件:

<label>Width: </label><input type="number" [(ngModel)]="height" 
(ngModelChange)="sendNo()" (ngModelChange) = "getRnd()">
<p></p>
<label>Height: </label><input type="number" [(ngModel)]="width" 
(ngModelChange)="sendNo()" (ngModelChange) = "getRnd()" >
<p></p>

父组件html文件:

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

父组件ts文件:

getDataFromChildTwo(data) {
  this.randVal = data;
  console.log(this.randVal);
 }

1 回答

  • 0

    请更改父组件代码,如下所示:

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

    发出的事件应该是 $event 而不是 $eventTwo .

相关问题