我有一个父组件,其子组件具有输入文本框。我注意到keyup事件向上传播,我甚至可以在我的根组件中绑定它。当用户在框中输入时,我绑定到(keyup)时会得到一个KeyboardEvent,我可以在我的根组件中捕获它,而不需要做任何额外的操作。
因此,当发生文本更改时,我应该做什么?我应该发出已经由子组件本身支持的自定义事件,例如keyup,keydown等吗?
例如,我应该有:
@Output() textChange$ = new EventEmitter()
在我的子组件中捕获keyup并发出textChange事件然后绑定到(textChange)或者可以避免它,因为它是多余的。我问的原因是我不确定在所有情况下,从孩子到顶级父母的原生事件的传播是否一致。
Angular 4中的事件传播是否与标准浏览器事件传播行为一致。
答案 0 :(得分:-1)
使用lambda,父子关系和对象传递作为参数,Angular使JavaScript开发人员的生活更轻松。
这完全取决于您的要求和实施部分。
这也是让父母处理其子事件的所有事件的好习惯。因此,我们可以在父组件中轻松使用或修改相同的参数。