Как написать общее событие фокуса для всех текстовых полей в приложении в угловых 2/4/5 - PullRequest
0 голосов
/ 09 октября 2018

В настоящее время я написал директиву scrollIntoView для всех текстовых полей в приложении.Добавление директивы к тысячам текстовых полей в приложении является болезненным.

Есть ли какая-либо вещь перехватчика, где я могу перехватить все события фокуса текстового поля.

1 Ответ

0 голосов
/ 09 октября 2018

Я пробовал что-то подобное, и это работает.

import { Directive, OnInit, HostListener } from '@angular/core';

@Directive({
  selector: "[input[type='text']]"
})
export class InputTypeDirective implements OnInit{
  ngOnInit(){
    console.log('loading directive');
  }

  @HostListener('focus', ['$event'])
  onFocus(e){
    console.log(e);
  }
}

Шаблон:

<input type="text" [(ngModel)]="username" value="">

Также включите директиву как объявление в модуль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...