使用cdkMonitorSubtreeFocus进行角度聚焦事件顺序

时间:2019-06-28 09:59:05

标签: angular focus angular-cdk

子组件模板:

connect.example.com:/oauthcallback

父组件模板:

sess = keras_backend.get_session()
init = tf.compat.v1.global_variables_initializer()
sess.run(init)

我可以看到<div> <input (focusout)="inputFocusOut()"/> </div> 之后被调用了<div> <child-component cdkMonitorSubtreeFocus (cdkFocusChange)="$event === null && onChildFocusOut()"/> </div> 。是否有办法在inputFocusOut()之前进行onChildFocusOut()通话?

1 个答案:

答案 0 :(得分:0)

为什么不在子组件上使用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>

这样可以保证子组件在其父组件之前执行某些操作。