运行此代码:
<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