最佳答案

ConnectedPositionStrategy (已弃用)具有 onPositionChange 属性和
FlexibleConnectedPositionStrategy positionChanges 属性,我们不能在创建叠加层之前订阅这个 observable,所以,解决方案是在创建叠加层之后订阅:

const positionStrategy = this.overlay
    .position()
    .flexibleConnectedTo(this.selectHeader)
    .withPositions([
     {
        originX: 'start',
        originY: 'bottom',
        overlayX: 'start',
        overlayY: 'top',
      },
      {
        originX: 'start',
        originY: 'top',
        overlayX: 'start',
        overlayY: 'bottom',
      },
    ]);
this.panelOverlay = this.overlay.create({positionStrategy});
positionStrategy.positionChanges.subscribe(pos => console.log(pos));

关于angular - 在 Angular cdk 覆盖上获得事件位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51457951/

10-13 07:35