1

ng-show でデフォルトで非表示になっている div に angular-ui ui-scroll ディレクティブ (1.3.0) があります。非表示の場合、ui-scroll-viewport の高さが設定されていても、ui-scroll はデータソースからデータをロードし続けます。div が表示されている場合、正しく動作します。だから、今のところ私のdivは幅1pxです:/

これを ng-if で解決して、これを DOM に動的に追加できると確信しています。しかし、私はdivをレスポンシブに非表示/表示したかったので、cssから追い出されました。

非表示のときに ui-scroll がバッファから 1 ページのみをロードする方法について何か提案はありますか? ありがとうございました。

4

1 に答える 1

1

データソースの実装を通じて管理を試みることができます。

$scope.datasource.get = function(index, count, success) {
  // prevent data getting while ui-scroll is invisible
  if (!$scope.isScrollerVisible) {
    return; // or let him request for 1 pack and prevent others, any logic
  }
  // get required data and pass it into success callback
  var result = [];
  for (var i = index; i <= index + count - 1; i++) {
    result.push({text: "item #" + i});
  }
  success(result);
}

また、おそらくスクロールのリロードを 1 回開始する必要があります ( adapter doc ):

$scope.$watch('isScrollerVisible', function(value) {
  if(value) {
    $scope.datasourceAdapter.reload()
  }
});
于 2015-08-17T15:47:14.860 に答える