gpt4 book ai didi

javascript - Angular 4 : Infinite scroll default behavior not working

转载 作者:行者123 更新时间:2023-11-30 15:02:25 26 4
gpt4 key购买 nike

我正在尝试在我的 Angular 4 应用程序中实现无限滚动。我已按照 https://www.npmjs.com/package/ngx-infinite-scroll 的所有指示进行操作

文档中说:

By default, the directive listens to the window scroll event and invoked the callback. To trigger the callback when the actual element is scrolled, these settings should be configured:

  • [scrollWindow]="false"
  • set an explict css "height" value to the element

但在我的例子中,默认的窗口滚动事件没有被触发。相反,如果我为 div 元素设置高度并设置 [scrollWindow] = "false",那么在这种情况下它会起作用。我不知道我错过了什么。

给定文档导入中的示例

{ platformBrowserDynamic } from '@angular/platform-browser-dynamic';

但我还没有在我的模块中导入它。这是否导致了问题。我认为这不是原因。

任何帮助将不胜感激。谢谢。

最佳答案

您无需安装额外的软件包即可实现无限滚动功能。以下示例对我有用。

应用程序组件.ts

export class AppComponent
{
stones: Array<any>
margin: number = 10;

constructor() {

this.stones = new Array<Object>();
this.populate(this.margin);
}

onScroll(event: any) {

if (((window.innerHeight + window.scrollY + 1) >= document.body.offsetHeight) || ((window.innerHeight + document.documentElement.scrollTop) >= document.body.offsetHeight)) {
this.populate(this.margin);
}
}

populate(margin: number): void {

for (let i = 0; i < margin; i++) {
this.stones.push(new Object());
}
}
}

和你的 app.component.html

<div (window:scroll)="onScroll($event)">
<div *ngFor="let item of stones">
<div style="width:100px; height:60px; background-color:green;margin:20px"></div>
</div>
</div>

关于javascript - Angular 4 : Infinite scroll default behavior not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46306460/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com