首页 > 解决方案 > 在 scrollDispatcher Angular Material 上滚动的方法总是返回 undefined

问题描述

我正在尝试使用'@angular/cdk/scrolling'中的 ScrollingModule,但是使用 scrolled() 方法我没有得到预期的结果,这是我的代码:

我的进口

import { CdkScrollable, ScrollDispatcher } from '@angular/cdk/scrolling';

依赖注入

constructor(private scrollDispatcher: ScrollDispatcher){}

代码

ngAfterViewInit(): void {
    this.scrollDispatcher.scrolled().subscribe((event: CdkScrollable) => {      
      console.log(event);
    });
  }

预期的

对象类型 CdkScrollable

得到

不明确的

我阅读了参考书目和一些文章,我认为我的代码很好,我不明白有什么问题。

此处复制的问题 https://github.com/alcampospalacios/ScrollingDistpachProblem

标签: angularscrollangular-material

解决方案


窗口正在滚动,而不是<p>您设置的cdkScrollable位置。正如你所看到的,API清楚地表明Observable可以返回一个CdkScrollable | void. 在 aCdkScrollable不滚动的情况下,它将返回void

在您的示例中,您可以看到整个正文都在滚动。您需要制作结构,以便只有内部元素滚动


推荐阅读