观察iScroll的angular指令

时间:2013-06-18 11:27:20

标签: angularjs angularjs-directive iscroll

我正在尝试查看用户在IScroll(v5)中滚动的时间。

我仍然很有角度,只是学习编写指令。 从其他例子来看,我正在努力。 我的指示是

app.directive('watchScrolling', function(){ 
   return {
      restrict: 'E',
      link: function(scope, elem, attr, ctrl) {
         elem.bind('scroll', function(e) {
            console.log('scrolling');
         });
      }
   };
});

和我的HTML

<div id="wrapper" class="watch-scrolling">
   <iv class="scroller"> </div>
</div>

我正在使用ngIscroll来连接滚动条。

这是我写指令的方式吗?或者我应该使用$ .watch方法??? 有关如何使其工作的任何建议?

2 个答案:

答案 0 :(得分:4)

问题出在restrict参数中。在您的示例中,指令仅限于元素名称,但实际上您将其用作CSS类("watch-scrolling")。

<强>正确

app.directive('watchScrolling', function(){ 
   return {
      restrict: 'C',
      link: function(scope, elem, attr, ctrl) {
        console.log('Linked');
         elem.bind('scroll', function(e) {
            console.log('scrolling');
         });
      }
   };
});

Plunker

答案 1 :(得分:3)

我想你想要创建自己的指令,但是有一个很酷的即用型指令,可以很好地兼顾IScroll 4和5。

https://github.com/ibspoof/ng-iScroll