我正在创建一个生成cdk覆盖的服务。我正在尝试做的是找到一种听cdk滚动策略事件的方法。更具体地说,我想知道cdk何时使用“关闭”滚动策略关闭覆盖图。最终目标是创建一个可观察的对象,供消费者用来确定覆盖层是否处于打开状态(有条件地应用css以及不开放)。
稍作搜索后,overlayRef似乎具有_portalOutlet属性,而该属性具有_isDisposed(https://github.com/angular/material2/blob/master/src/cdk/overlay/overlay-ref.ts)属性。看起来像我要找的东西,但是这些当然是私有财产,消费者无法使用。
我无法想象cdk overlay确实没有像这样的公共财产,我真的希望有人指出我的无知。顺便说一下,我正在使用角度5。
答案 0 :(得分:0)
找到了!
if (dropdownConfig.scrollStrategy === "close") {
overlayRef.detachments().subscribe( _ => {
this.isOpen = false;
this.isOpenSubject.next(false);
});
}
希望这可以帮助随机灵魂。