Угловой упорядоченный порядок событий с помощью cdkMonitorSubtreeFocus - PullRequest
0 голосов
/ 28 июня 2019

Шаблон дочернего компонента:

<div>
  <input (focusout)="inputFocusOut()"/>
</div>

Шаблон родительского компонента:

<div>
  <child-component 
cdkMonitorSubtreeFocus (cdkFocusChange)="$event === null && onChildFocusOut()"/>
</div>

Я вижу, что inputFocusOut() вызывается после onChildFocusOut().Есть ли способ совершить inputFocusOut() звонок до onChildFocusOut()?

1 Ответ

0 голосов
/ 09 июля 2019

Почему бы вам не использовать blur + EventEmitter для дочернего компонента и связать такое событие с родителем?

Детский шаблон:

<div>
  <input (blur)="onBlur()"/>
</div>

Дочерний компонент:

@Component()
class ChildComponent {
  @Output() blur = new EventEmitter();

  onBlur() {
    // do something here

    this.blur.emit();
  }
}

Родительский шаблон:

<div>
  <child-component (blur)="onChildBlur()" />
</div>

Таким образом гарантируется, что дочерний компонент что-то сделает перед своим родителем.

...