提问人:Berrytos 提问时间:11/8/2023 最后编辑:Berrytos 更新时间:11/9/2023 访问量:57
(初学者)角度绑定问题
(beginner) angular binding issues
问:
我只是从编码开始非常新鲜。 我发现自己被困在一些可能非常简单的事情上。 我正在做一本书中的作业 它乱七八糟地告诉我该怎么做,但它不起作用。(本书截图)。用荷兰语写的,所以我翻译:
“ 在页面中的位置 app.component.html ”<app-camping-registratie (campingRegistratieCreate)="onCampingRegistratieCreated($event)"></app-camping-registratie>
在添加上面提到的代码之前,它的工作原理和外观如下所示: 屏幕截图 localhost:4200
添加后,我收到以下错误:图像错误
index.js:493 [webpack-dev-server] 错误 app/app.component.html:5:82 - 错误 TS2345:“事件”类型的参数无法分配给“字符串”类型的参数。 5 <app-camping-registratie (campingRegistratieCreate)=“onCampingRegistratieCreated($event)”> ~~~~~~ app/app.component.ts:5:16 5 模板网址: './app.component.html', ~~~~~~~~~~~~~~~~~~~~~~ 组件 AppComponent 的模板中发生错误。
参考以下代码:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
campings: string[] = ['De Karnemelkplaats', 'Tro Do Way', 'Camping Kohnenhof', 'Camping Langewald', 'Camping La Fouly'];
registratie: string[] = ['Jaap']
onCampingCreated(name: string) {
this.campings.push(name);
}
onCampingRegistratieCreated(name: string){
this.registratie.push(name);
}
}
[IMG| app.component.ts](https://i.stack.imgur.com/0Ud2F.png)
<app-camping-invoer (campingCreate)="onCampingCreated($event)">
</app-camping-invoer>
<app-camping [campingList]="campings"></app-camping>
<br><br>
<app-camping [campingRegistratieList]="registratie"></app-camping>
<app-camping-registratie(campingRegistratieCreate)="onCampingRegistratieCreated($event)"></app-camping-registratie>
[IMG| app.component.html](https://i.stack.imgur.com/dBuAY.png)
也许我真的很愚蠢,因为我不理解给出的错误, 但我真的无法弄清楚这里的问题。 如果有人能建议和解释这里发生的事情,我非常感谢,这样我就可以从中学习。
我多次重做整个作业。甚至继续,忽略了错误。根据这本书,这些应该是所有的代码
-浆果
答:
因此,它确实在错误消息和代码中声明,函数 onCampingRegistratieCreated 需要字符串作为参数。$event不是一个字符串,而是一个对象,它确实需要额外的求解/提取数据。
一种选择是将函数重写为如下所示:
onCampingRegistratieCreated(event: Event) {
... // event.? <-- whatever info your would like to push
}
另一种解决方法是在模板中设置要推送到该函数的实际字符串,如下所示:
<app-camping-registratie(campingRegistratieCreate)="onCampingRegistratieCreated('Your String')"></app-camping-registratie>
希望这会有所帮助。祝你好运!
评论