错误 TS2345:类型"事件"的参数不可分配给类型为"IPokemon"的参数



运行此代码:

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

导致错误:

错误TS2345:类型为"Event"的参数不可分配给类型为"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
});

这是口袋妖怪模型本身:

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

任何帮助都将不胜感激

由于参数$event的类型为Event,这意味着它(不一定(具有的形式

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

不能将$event传递给addPokemon方法。

如果$event参数与IPokemon接口匹配,并且

  • 不是:确保$event具有适当的形式,或者
  • 如果是:您可以在函数调用中添加$event as unknown as IPokemon

相关内容

最新更新