簡體   English   中英

錯誤 TS2345:“事件”類型的參數不可分配給“IPokemon”類型的參數

[英]error TS2345: Argument of type 'Event' is not assignable to parameter of type 'IPokemon'

運行這段代碼:

 <app-pokemon-form *ngIf="showPokemonForm" (newPokemonEvent)="addNewPokemon($event)" 
    (pokemonFormClose)="pokemonFormClose($event)"
      [pokemon]="currentPokemon"></app-pokemon-form>

導致錯誤:

錯誤 TS2345:“事件”類型的參數不可分配給“IPokemon”類型的參數。

這是 TypeScript 文件:

 addNewPokemon(newPokemon: IPokemon): void {
    console.log('adding new pokemon ' + JSON.stringify(newPokemon));
    this.pokemonService.addPokemon({ ...newPokemon })
      .subscribe({
        next: pokemon => {
          console.log(JSON.stringify(pokemon) + ' has been added');
          this.message = "new pokemon has been added";
        },
        error: (err) => this.message = err
      });

這是口袋妖怪 model 本身:

export interface IPokemon {
    _id: string,
    Name: string,
    Generation: Number,
    Type: string
}

任何幫助將不勝感激

由於您的參數$eventEvent類型,這意味着它(不一定)具有以下形式

interface IPokemon {
  _id: string,
  Name: string,
  Generation: number,
  Type: string
}

您不能將$event傳遞給您的addPokemon方法。

您可以檢查$event參數的形式是否與IPokemon接口匹配,如果

  • not :確保$event具有適當的形式,或者
  • 如果是:您可以在 function 通話中添加$event as unknown as IPokemon

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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