например так
@Directive({
selector: 'blurFocus',
//при focus на элемент применяется класс focus
host: {
'(focus)': 'setInputFocus(true)',
'(blur)': 'setInputFocus(false)'
}
})
и внутри класса сам метод
setInputFocus(isSet: boolean): void {
this.renderer.setElementClass(this.elementRef.nativeElement.parentElement, 'focus', isSet);
}
или повесить слушателя на элемент Observable(тут слушатель на ввод данных в инпут)
this.input$ = Observable
.fromEvent(this._el.nativeElement, 'input')
.debounceTime(500);
this.input$.subscribe(event=> this._check(event))