4

ユーザーが IScroll (v5) でスクロールするタイミングを監視しようとしています。

私はまだAngularに慣れていないので、ディレクティブの記述について学んでいます。他の例から、私は試しています。私の指令は

app.directive('watchScrolling', function(){
   戻る {
      制限: 'E',
      リンク: 関数 (スコープ、elem、attr、ctrl) {
         elem.bind('scroll', 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 に答える