2017-10-29 112 views
2

我无法弄清楚如何检测时角材料垫sidenav容器滚动2.如何检测垫sidenav容器滚动事件

我想调用一个方法,我的组件当用户滚动时。但是,当使用sidenav容器时,滚动事件不再在窗口上触发。

取而代之的是添加一个额外的<mat-sidenav-content cdkscrollable></mat-sidenav-content>元素,这是滚动条的位置。如果我无法直接访问该组件并将其放置在事件监听器上,那么如何在此组件上进行滚动检测。

任何想法?

+1

我想知道这一点! – Willwsharp

回答

0

你能告诉我你的css文件吗? 我也遇到过同样的问题,但是由于下面的CSS被应用到mat-sidenav-container。

height: 100vh; 
0

您应该使用Material2示例"Sidenav with a FAB"

请把滚动内容与格:

<mat-sidenav-container class="example-sidenav-fab-container"> 
    <mat-sidenav #sidenav mode="side" opened="true"> 
    ... 
    </mat-sidenav> 
    <div class="example-scrolling-content" (scroll)="handleScroll($event)"> 
    ... content ... 
    </div> 
</mat-sidenav-container> 

,这应该是你的CSS:

.example-scrolling-content { 
    overflow: auto; 
    height: 100%; 
} 
0

而不是让角自动插入标记,在HTML的标签side-nav-content。然后你可以添加监听器。

<mat-sidenav-container> 
    <mat-sidenav> 
    </mat-sidenav> 
    <mat-sidenav-content (scroll)="myScrollHandler($event)"> 
    </mat-sidenav-content> 
</mat-sidenav-container> 
相关问题