假设我们有一个组件,其模板有一个简单的下拉列表。每当用户在下拉列表中进行选择时,就会触发事件处理程序onSelect()
<select [value]="this.selectedCountryName"
(change)="onSelect()">
<option *ngFor="let country of this.countries">
{{country.name}}</option>
</select>
相应的事件处理程序可能会执行类似于的操作
public onSelect(): void {
console.log('User selected ' + this.selectedCountryName)
}
但我也看到过将$event对象传递给事件处理程序的实现,比如:
<select [value]="this.selectedCountryName"
(change)="onSelect($event)">
<option *ngFor="let country of this.countries">
{{country.name}}</option>
</select>
也许您只需要引用$event对象中的选定值,而不是尝试从组件字段中读取它。
与Angular文档有些相似:https://angular.io/guide/user-input
一种方法比另一种更可取吗
当您必须在计算值之前进行计算时,第二种方法会更好。但如果你只想使用价值,你可以自由使用任何你想要的