我正在尝试向父组件发出一个数组,但是当我尝试使用console.log获取发出的数据时,我一直未定义,我的其他事件发射器工作正常,事件二发出数组但输出时在控制台中给我未定义(只显示必要的代码)。
子组件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);
}
答案 0 :(得分:0)
请更改父组件代码,如下所示:
<app-inputs (event)="getDataFromChild($event)"
(eventTwo)="getDataFromChildTwo($event)"></app-inputs>
发出的事件应该是$event
而不是$eventTwo
。