2017-05-16 12 views
0

私は、角度スレーカルーセル指令とそれに関するデータを持っています。私のデータは、ユーザーが下にスクロールしたときに追加されているので、スクロールした後に、わかりやすいカルーセルオプションをリロードする必要があります。ディレクティブの繰り返し要素の長さの変更

ng-repeat要素の長さが変化しているときは、どのように検出できますか?

ng-repeat要素の長さの変更を検出する必要があります(動作しません)。

<li sly-horizontal-repeat-simple ng-repeat="game in value | limitTo: gamesLimit track by game.id"> 
... 
</li> 


VBET5.directive('slyHorizontalRepeatSimple', function($timeout,$window) { 
return { 
    restrict: 'A', 
    link: function(scope, el, attrs) { 
     if (scope.$last === true) { 
      $timeout(function() { 
       var cont = $(el[0]); 
       var frame = $(el[0]).parent(); 

       // Call Sly on frame 
       $(window).on("resize", function() { 
        frame.sly("reload"); 
       }); 

       // Watch , if items in ng-repeat change length then reload 
       scope.$watch('value', function() { 
        frame.sly("reload"); // I need reload sly when el chang 
       }); 


      }); 
     } 
    } 
} 
}); 

答えて

1

element.lengthの代わりにscope変数を指定する必要があります。 Scope.variableが変更されたウォッチトリガを取得した場合、トリガされます。

$scope.$watch(
      function() { 
       return $scope.value; 
      }, 
      function (newValue, oldValue) { 
       if (!angular.equals(oldValue, newValue)) { 
        $scope.text = 'Your value now =' + $scope.value; 
        } 
      }, 
      true); 
+0

私のケースではどうすれば使用できますか? –

+0

コードとコメントが更新されました。 – Rahul

+0

完了。これを確認できますか? –

関連する問題