Angular 滚动完成时未触发ngx无限滚动事件

Angular 滚动完成时未触发ngx无限滚动事件,angular,typescript,Angular,Typescript,我试图在angular 4应用程序中使用ngx infinite scroll实现无限滚动,但它没有被触发。我阅读文档,设置元素的高度,并将滚动窗口设置为false,以便在滚动元素而不是整个页面时触发。但是我不能让它开火 我在干什么 我已经创建了一个复制该问题的 html 组成部分 protected is = ['Item1', 'Item2', 'Item3']; onScrolledDown() { console.log("scrolled"); } 我使用的是Bootstr

我试图在angular 4应用程序中使用ngx infinite scroll实现无限滚动,但它没有被触发。我阅读文档,设置元素的
高度
,并将
滚动窗口
设置为false,以便在滚动元素而不是整个页面时触发。但是我不能让它开火

我在干什么

我已经创建了一个复制该问题的

html

组成部分

protected is = ['Item1', 'Item2', 'Item3'];

onScrolledDown() {
    console.log("scrolled");
}

我使用的是Bootstrap4,所以您必须禁用flex才能正常工作

.search-results {
  height: 100px;
  overflow: scroll;
  flex: none;
}

我使用的是Bootstrap4,所以您必须禁用flex才能正常工作

.search-results {
  height: 100px;
  overflow: scroll;
  flex: none;
}

我想我已经找到了一个小的解决方法,通过将InfiniteSrollThrottle设置为0来解决这个问题,并创建自己的节流方法

我是这样做的:

在HTML端,使用以下属性:

[infiniteScrollThrottle]="0"
(scrolled)="loadMore()"
另一方面,在ts文件中,在loadMore()函数中设置自己的节流条件:

loading = false;
loadingThrottle = 300;

loadMore() {
    if (!this.loading) {
      this.loading = true;

      window.setTimeout(() => {

        // your loading logic here..

        this.loading = false;
      }, this.loadingThrottle);
   }
}

我想我已经找到了一个小的解决方法,通过将InfiniteSrollThrottle设置为0来解决这个问题,并创建自己的节流方法

我是这样做的:

在HTML端,使用以下属性:

[infiniteScrollThrottle]="0"
(scrolled)="loadMore()"
另一方面,在ts文件中,在loadMore()函数中设置自己的节流条件:

loading = false;
loadingThrottle = 300;

loadMore() {
    if (!this.loading) {
      this.loading = true;

      window.setTimeout(() => {

        // your loading logic here..

        this.loading = false;
      }, this.loadingThrottle);
   }
}

我也看到了,3/4次开火,1/4次没有。。我将div的高度设置为100%,overflow-y设置为autoI,我也得到了这个值,它激发了3/4次,没有激发的1/4次。。我将div的高度设置为100%,并将overflow-y设置为auto