Output 和 EventEmtiter 不发送任何数据
Output and EventEmtiter not sending any data
我想使用 Output() 和 EventEmitter 方法将数据从我的子组件发送到我的父组件。然而,尽管发射器在子组件中被击中,但似乎没有任何东西被发送?
我的子组件:
@Output() urlStringEvent = new EventEmitter<string>();
ngOnInit(): void {
this.startUpload();
}
startUpload() {
// Unrelated Code Above ^^^^
// Assign URL's to Array
this.task.snapshotChanges().pipe(
last(),
switchMap(() => ref.getDownloadURL())
).subscribe(url => {
this.urlStringEvent.emit(url);
})
}
在上面的 startUpload() 方法中,发送了 'url' 响应,但是 'this.urlStringEvent.emit(url);'
似乎没有任何反应
在我的父组件中(component.html):
<app-upload-task-training (showEvent)="receiveUrlString($event)"></app-upload-task-training>
component.ts:
receiveUrlString($event: any) {
console.log($event);
}
如上所示,$event 中没有记录任何内容,这是为什么?
你正在发射 urlStringEvent
但在 html
中你使用 showEvent
,它不会工作你可以像这样改变你的 html
<app-upload-task-training (urlStringEvent)="receiveUrlString($event)"></app-upload-task-training>
或
改变这个
@Output() urlStringEvent = new EventEmitter<string>();
至此
@Output('showEvent') urlStringEvent = new EventEmitter<string>();
您没有在 html
中正确命名 事件 。像这样更改 html
代码:
<app-upload-task-training (urlStringEvent)="receiveUrlString($event)"></app-upload-task-training>
我想使用 Output() 和 EventEmitter 方法将数据从我的子组件发送到我的父组件。然而,尽管发射器在子组件中被击中,但似乎没有任何东西被发送?
我的子组件:
@Output() urlStringEvent = new EventEmitter<string>();
ngOnInit(): void {
this.startUpload();
}
startUpload() {
// Unrelated Code Above ^^^^
// Assign URL's to Array
this.task.snapshotChanges().pipe(
last(),
switchMap(() => ref.getDownloadURL())
).subscribe(url => {
this.urlStringEvent.emit(url);
})
}
在上面的 startUpload() 方法中,发送了 'url' 响应,但是 'this.urlStringEvent.emit(url);'
似乎没有任何反应在我的父组件中(component.html):
<app-upload-task-training (showEvent)="receiveUrlString($event)"></app-upload-task-training>
component.ts:
receiveUrlString($event: any) {
console.log($event);
}
如上所示,$event 中没有记录任何内容,这是为什么?
你正在发射 urlStringEvent
但在 html
中你使用 showEvent
,它不会工作你可以像这样改变你的 html
<app-upload-task-training (urlStringEvent)="receiveUrlString($event)"></app-upload-task-training>
或
改变这个
@Output() urlStringEvent = new EventEmitter<string>();
至此
@Output('showEvent') urlStringEvent = new EventEmitter<string>();
您没有在 html
中正确命名 事件 。像这样更改 html
代码:
<app-upload-task-training (urlStringEvent)="receiveUrlString($event)"></app-upload-task-training>