首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在隐藏的div中加载angular-ui -ui滚动

防止在隐藏的div中加载angular-ui -ui滚动
EN

Stack Overflow用户
提问于 2015-08-14 02:47:08
回答 1查看 817关注 0票数 1

我有一个angular- ui -scroll指令(1.3.0),它位于一个div中,默认情况下使用ng-show将其隐藏。当它被隐藏时,即使设置了ui-scroll -viewport的高度,ui-scroll也只会保持从数据源加载数据。如果显示了div,则它的行为正确。所以,现在我的div是1px宽的:/

我确信我可以用一个ng-if来解决这个问题,将它动态地添加到DOM中。然而,我希望div能够响应地隐藏/显示--这样就不需要css了。

关于如何让ui-scroll在隐藏时仅从缓冲区加载1个页面,有什么建议吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-08-17 23:47:15

您可以尝试通过数据源实现来管理它:

代码语言:javascript
复制
$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);
}

此外,您可能需要启动一次滚动重新加载(adapter doc):

代码语言:javascript
复制
$scope.$watch('isScrollerVisible', function(value) {
  if(value) {
    $scope.datasourceAdapter.reload()
  }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31996151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档