Angular Material CDK предоставляет Directive
CdkScrollable
, который позволяет вам прослушивать ScrollEvent
определенного контейнера.
Теперь я пытаюсь получить доступ к CdkScrollable
из MatSidenavContent
, который добавлен по умолчанию.
Однако мой @ViewChild(CdkScrollable)
и @ContentChild(CdkScrollable)
всегда не определены.
Мой Component
выглядит примерно так:
<mat-sidenav-container>
<mat-sidenav>Sidenav content</mat-sidenav>
<div>Main content</div>
</mat-sidenav-container>
В результате DOM выглядит примерно так:
<mat-sidenav-container>
<div class="mat-drawer-backdrop"></div>
<div tabindex="-1" class="cdk-visually-hidden cdk-focus-trap-anchor"></div>
<mat-sidenav>Sidenav content</mat-sidenav>
<mat-sidenav-content cdkScrollable>
<div>Main content</div>
</mat-sidenav-content>
</mat-sidenav-container>
mat-sidenav-content
Component
, который создается автоматически, использует CdkScrollable
-директиву, к которой мне нужно получить доступ.
Теперь у меня вопрос:
Можно ли получить доступ к этому Directive
, и если да, то как?
CdkScrollable
. См. здесь - person Springrbua   schedule 14.03.2018this.sidenavContainer.scrollable
быть чем-то другим, кроме undefined. Вместо этого мне пришлось использовать толькоCdkScrollable
. @ViewChild (MatSidenavContent) до сих пор не работает у меня, пытаясь получить свиток. Это очень странно. Еще раз спасибо! Я рад, что у вас все заработало! - person j_walker_dev   schedule 20.03.2018