setInterval的Angular 2错误?

时间:2016-08-21 01:10:18

标签: angular setinterval

我正在尝试实现一个自动滚动到底部的d​​iv,除非它已被用户滚动。 我的Html:

<ul id='logWrap' class='logWrap' (scroll)="onLogScroll()">
       ...  
</ul>

我的组件中的相关代码:

ngOnInit(){
    setInterval(() => { this.updateScroll() }, 3000);
  }

  updateScroll(){
    var element = document.getElementById("logWrap");
    if(element && !this.scrolled){
      element.scrollTop = element.scrollHeight;
    }
  }

  onLogScroll(){
    this.scrolled = true;
  }

正确调用onLogScroll并将this.scrolled设置为true。但是,它通过updateScroll和“element.scrollTop = element.scrollHeight;”以某种方式重新设置为false。无论什么,在函数的每一遍都执行。

“this.scrolled”在代码中没有其他地方被触及。我一定很遗憾。

谢谢!

0 个答案:

没有答案