我知道'(change)'是输入,选择和textarea字段的预构建事件绑定器。但是当我们将它用作组件的事件绑定器时,它意味着什么呢?
调用组件:
<dropdown-list [items]="countrycodes" (change) = "updateCCode($event)" > </dropdown-list>
在内部下拉列表组件中,有一个选择框以及一个用于过滤列表的文本框。当选择一个选择框值时,我将触发emit事件,该事件最终会触发父组件的'updateCCode'事件。
现在,如果我编辑文本字段并删除焦点,则会令人惊讶地触发“updateCCode”事件。最终,要获得解决方法,我必须将代码更改为:
<dropdown-list [items]="countrycodes" (changeUpdated) = "updateCCode($event)" > </dropdown-list>
以避免触发默认的'onChange'事件,因为我的事件活页夹名称是'(更改)'。
问题
这是正确的做法吗?为什么在触发组件时(更改)事件发射器不会覆盖onChange本机函数? 我应该实现某种onchange监听器并让它调用'preventDefault'吗?