在Angular4中对嵌套角度组件使用“(更改)”事件绑定

时间:2018-02-05 16:58:33

标签: javascript angular angular-components angular-component-life-cycle

我知道'(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'吗?

0 个答案:

没有答案
相关问题