4

我试图观察用户何时在 IScroll (v5) 中滚动。

我对 Angular 还是很陌生,只是学习编写指令。从其他示例中,我正在尝试。我的指令是

app.directive('watchScrolling', function(){
   返回 {
      限制:'E',
      链接:函数(范围,元素,属性,ctrl){
         elem.bind('滚动', function(e) {
            console.log('滚动');
         });
      }
   };
});

在我的 html 中

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

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

这是我应该写我的指令的方式吗?还是我应该使用 $.watch 方法???关于如何让它工作的任何建议?

4

2 回答 2

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');
         });
      }
   };
});

普朗克

于 2013-06-19T04:39:17.103 回答
3

我想你想创建自己的指令,但是有一个很酷的即用型指令,它可以很好地与 IScroll 4 和 5 配合使用。

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

于 2013-07-21T02:50:52.900 回答