2014-10-18 7 views
5

Я не совсем уверен, как использовать ui-scroll. Я создал плункер, но я не думаю, что он работает правильно, потому что он не добавляет и не удаляет элементы из DOM по мере прокрутки. Он отображает их все!Angularjs ui-utils ui-scroll как использовать

My Plunker for ui-scroll

MyApp.controller('MyAppCtrl', function($scope) { 
    $scope.myData = { 
     get : function(index, count, success) { 
    var result = [{"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"},{"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"},{"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"},{"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"},{"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"}]; 

     index = 1; 
     count = 10; 

     success(result); 
     } 
    }; 
}); 

Я посмотрел на несколько примеров на Github, но большая часть кода в кофе сценария, и это только добавление элементов в цикле к DOM. Мой вопрос: как вы добавляете элементы, если у вас уже есть данные правильно. У меня есть еще итерация через набор данных?

Ваша помощь очень ценится.

ответ

2

UI-Scroll оставляет за собой право на результат, чтобы вернуться к функции обратного вызова успеха на основе индекса и подсчета. Нечто подобное должно работы-

get: function(index, count, success){ 
     var result = [{"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"},{"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"},{"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"},{"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"},{"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"}];   
     success(result.slice(index-1, index-1 + count)); 
} 

Имейте в виду, что индекс вы прошли ненулевая основе так, когда вы работаете с массивом вам придется использовать индекс, начинающийся с нуля (отсюда index- 1). Кроме того, вы можете захотеть сохранить результат вне функции get, а функция get возвращает часть модели, которую вы хотите передать в UI-Scroll.

+0

Можете ли вы привести пример с динамическими данными? http://plnkr.co/edit/HFOwnLsIJd84ayrwCVWq?p=preview – Claude

0

Зах имеет точку, однако для лечения не только вперед, но прокрутки индекса обратно, а также, вы должны сделать это прежде, чем передать индекс и рассчитывать на успех:

index = index <= 0 ? index + 1 : index -1; 

IE, приведенный код должен выглядят так:

get: function(index, count, success) { 
    var result = [ 
     {"guid":"8544a1c7-d637-42ae-836a-8a71901b44ca"},{"guid":"aff1450c-b4dd-4aa0-9b12-ea097e72c6fa"}, 
     {"guid":"a1c68796-7a28-4721-904a-4944234e253e"},{"guid":"8b7d881f-20ea-4b6c-a8d6-772e1236e6bf"}, 
     {"guid":"398c50a7-885e-4455-b741-66ebc2a64060"},{"guid":"81557a60-60b5-425a-9839-cf1da7e21bde"}, 
     {"guid":"ed48be4e-5963-47a1-b872-2bf20bec5da3"},{"guid":"15d9fa95-f824-4bd9-8b75-afb8dec99f03"}, 
     {"guid":"eaf2e5aa-24a4-4995-82d5-e661efc64556"} 
    ]; 
    index = index <= 0 ? index + 1 : index -1; 
    success(result.slice(index, index + count)); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^