[英]Event emitter function not called in angular 11
我在 angular 中使用了事件發射器進行事件綁定。
它沒有調用組件中提到的 function
在對話-card.component.ts
@Output() badgeAwarded = new EventEmitter();
this.chatApiService.addBadge(data).subscribe(response =>{
this.snackBarService.success(this.translate.instant('SECOND_ITERATION.BADGE_AWARDED'))
this.badgeAwarded.emit(true);
})
在 my-request-details.component.html 文件中
<app-conversation-card
(badgeAwarded)="awardBadges($event)"
></app-conversation-card>
在 my-request-details.component.ts 文件中
awardBadges(value){
console.log(value);
}
AwardBadges function 在瀏覽器中的控制台選項卡中檢查時未調用發射。
當我遇到這個問題時,我的問題每次都是一樣的:
從錯誤的來源導入EventEmitter
和Output
,可能是protractor
。 因此,請確保它來自正確的來源:
import { EventEmitter, Output } from '@angular/core';
您確定subscribe
塊內的代碼運行嗎?
this.chatApiService.addBadge(data).subscribe(response =>{
this.snackBarService.success(this.translate.instant('SECOND_ITERATION.BADGE_AWARDED'))
// make sure you see this log
console.log('!! Emitting badAwarded !!');
this.badgeAwarded.emit(true);
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.