纯angularjs滚动事件监听器

时间:2016-03-22 10:22:40

标签: angularjs

我正在使用angularjs WITHOUT jquery,并尝试创建滚动事件监听器。

尝试了这种方法:

  $rootScope.$watch(function() {
    return $window.scrollY;
  }, function(n,o) {
    console.log('scroll');
  });

但它不起作用..

我设法使用这种技术来创建调整大小监听器:

  $rootScope.$watch(function() { // Listens to window size change
    return $window.innerWidth;
  }, function(n, o) {
    console.log('resize');
  });

是否有正确的方法来创建纯angularjs滚动侦听器?

3 个答案:

答案 0 :(得分:4)

创建滚动事件监听器,'The Angular Way',实际上非常简单,使用$ window:

$window.onscroll = function() {
  console.log('scroll');
};

答案 1 :(得分:1)

尝试使用 onscroll javascript事件

答案 2 :(得分:0)

是。你正确的AngularJs提供 $ anchorScroll 来滚动页面但效果不是很好。你可以像这样上下。如果您希望在垂直或水平方向上滚动特定位置 $ anchorScroll 没有该选项。即使是动画也必须使用普通的javascript。如果您想在Angular Scroll中please have a look at this answer. Grate !!

进行更多探索