首页 > 解决方案 > Angular 如何知道双向数据绑定中要绑定的“事件”

问题描述

我了解在 Angular 中,以下两行在功能上是相同的

属性和事件绑定

<input type="text" [value]="customerName" (input)="customerName= $event.target.value" />

双向数据绑定

<input type="text" [(ngModel)]="customerName' />

让我感到困惑的是,Angular 如何知道使用双向数据绑定来绑定到元素的输入 eventinput而不是input元素支持的任何其他事件?

在第一个示例中,代码专门定义了要绑定到哪个事件(“输入” event),但在第二个示例中没有。Angular 如何选择要绑定的事件?

标签: angulartwo-way-binding

解决方案


<input [(ngModel)]="customerName">是 的简写形式<input [ngModel]="customerName" (ngModelChange)="customerName = $event">。这是 Angular 中的约定,也适用于您自己的自定义指令。

NgModelDirective(由 [ngModel] 绑定)提供@Input('ngModel') model: any;@Output('ngModelChange') update = new EventEmitter();.

我可以建议在这里查看文档以及源代码以获得更好的理解。


推荐阅读