簡體   English   中英

事件發射器 function 未在 angular 中調用 11

[英]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 在瀏覽器中的控制台選項卡中檢查時未調用發射。

當我遇到這個問題時,我的問題每次都是一樣的:

從錯誤的來源導入EventEmitterOutput ,可能是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM