使用显示未定义的 EventEmitter 发射数组
Emitting an array using EventEmitter showing undefined
我正在尝试向父组件发射一个数组,但是当我尝试使用 console.log 发射数据时,我一直未定义,我的另一个事件发射器工作正常,事件二发射array 但是当控制台中的输出给我未定义时(只显示必要的代码)。
子组件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);
}
请像这样更改父组件代码:
<app-inputs (event)="getDataFromChild($event)"
(eventTwo)="getDataFromChildTwo($event)"></app-inputs>
发出的事件应该是 $event
而不是 $eventTwo
。
我正在尝试向父组件发射一个数组,但是当我尝试使用 console.log 发射数据时,我一直未定义,我的另一个事件发射器工作正常,事件二发射array 但是当控制台中的输出给我未定义时(只显示必要的代码)。
子组件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);
}
请像这样更改父组件代码:
<app-inputs (event)="getDataFromChild($event)"
(eventTwo)="getDataFromChildTwo($event)"></app-inputs>
发出的事件应该是 $event
而不是 $eventTwo
。