подписка на события стратегии прокрутки cdk - PullRequest
0 голосов
/ 08 января 2019

Я создаю сервис, который генерирует оверлеи cdk. Я пытаюсь найти способ прослушивания событий стратегии прокрутки cdk. Более конкретно, я хочу знать, когда cdk закрывает оверлей, используя стратегию прокрутки close. Конечной целью является создание наблюдаемой, которую потребители могут использовать, чтобы определить, открыт ли оверлей или нет (применять css условно, а что нет).

После небольшого поиска выглядит, что у overlayRef есть свойство _portalOutlet со свойством _isDisposed (https://github.com/angular/material2/blob/master/src/cdk/overlay/overlay-ref.ts). Это похоже на то, что я ищу, но, конечно, это частные свойства, недоступные для потребителей .

Я не могу себе представить, что оверлей cdk действительно не имеет публичной собственности для чего-то подобного, и я действительно надеюсь, что кто-то укажет на мое невежество. Кстати, я использую угловой 5

1 Ответ

0 голосов
/ 08 января 2019

Нашли!

if (dropdownConfig.scrollStrategy === "close") {
  overlayRef.detachments().subscribe( _ => {
    this.isOpen = false;
    this.isOpenSubject.next(false);
  });
}

Надеюсь, это поможет случайной душе.

...