2015-08-13 5 views
1

У меня есть указатель углового ui-прокрутки (1.3.0), живущий в div, который по умолчанию скрыт с помощью ng-show. Когда он скрыт, ui-scroll просто загружает данные из источника данных, даже если установлена ​​высота экрана видового экрана. Если показан div, он ведет себя корректно. Итак, на данный момент мой div имеет ширину 1px:/Предотвращение углового ui-прокрутки от загрузки в скрытом div

Я уверен, что смогу решить это с помощью ng-if, чтобы динамически добавить это в DOM. Тем не менее, я хотел, чтобы div скрывал/показывал отзывчиво - так отключался css.

Любые предложения о том, как иметь u-прокрутку, загружают только 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); 
} 

Также вы, вероятно, нужно начать прокрутки перегрузочного раз (adapter doc):

$scope.$watch('isScrollerVisible', function(value) { 
    if(value) { 
    $scope.datasourceAdapter.reload() 
    } 
});