2017-07-19 33 views
2

我有点新的角4.我试图从一个伪指令中的输入域得到改变事件。目前,我与@HostListener如何获得在输入​​栏中更改事件的指令在角4

@HostListener('keyup', ['$event']) 
    inputChanged(event) {} 

这工作正常工作,但这个事件从释放键,用户可以输入错误的输入,并能看到一些太延迟后发射。在我的实施中,我已经删除了无效的输入,但它并没有给用户带来好的曝光。只有我想要的是在输入字段发生变化的瞬间获得更改事件(字符/字符串输入或删除两者)。 当前HTML看起来像这样

<input type='text' class="form-control" placeHolder='hh:mm:ss' time-input [(ngModel)]="params.time" name="time"/> 

PS。时间输入是指令的名称,并在指令中,我试图让事件发生变化,我不想将任何实现移动到控制器或组件。

+0

你想从'ngModel'指令原生DOM事件或事件? –

+0

我没有使用任何事件type.i任何限制使用原生DOM事件在第一,但有一个问题,即,但@甘的回答工作,这是根据要求,现在 –

+0

你需要'input'事件的DOM本地元素。 Gunter的解决方案只有在'input'上有'ngModel'指令时才能工作。所以,你的'时间input'只能靠'ngModel'工作,它不能作为一个独立的指令 –

回答

4

使用

@HostListener('ngModelChange', ['$event']) 
+0

谢谢。工作就像一个魅力 –

+0

很高兴听到:) –

+0

如果我没有使用什么ngModel? – anaval

相关问题