AngularJS ui-utils ui.scroll не показывает результаты

У меня есть приложение rails 4, использующее AngularJS. Я пытаюсь создать прототип, используя директиву ui.scroll из угловых модулей ui-utils. Мой rails API работает отлично, когда я использую ng-repeat, но когда я пытаюсь использовать ng-scroll, в моем окне просмотра никогда не будет никаких данных. ПРИМЕЧАНИЕ: я использую jquery в других частях приложения, поэтому я не использую jqlite.

Просмотр: (Я пропускаю все содержимое заголовка - но знайте, что css/jscript включен)

<html ng-app="Raffler">
<body>
<div ng-controller="ItemCtrl">
    <div ng-scroll-viewport style="height:240px;">
        <ul>
            <li ng-scroll="entry in datasource">
                {{entry.name}}              
            </li>           
        </ul>
    </div>
</div> </body> </html>

Контроллер: (Я пропускаю все включения приложения, но знаю, что зависимости вставлены)

angular.module("eli.Controllers").controller("ItemCtrl", 
    ["$scope", "Item", function ($scope, Item) {

    $scope.items = Item.query();

  $scope.datasource = {
    get: function(index, count, success) {

      // ensure we don't overrun the bounds of the data array
      var start = Math.max(0, index);
      var end = Math.min(index + count, $scope.items.length);

      var results = [];
      for (var i = start; i < end; i++) {
        results.push($scope.items[i]);          
      }

      success(results);      
    },

    revision: function() {
        return $scope.items;
    }
  };
}

]);

1 ответ

Так что я полагаю, что ваша проблема в том, что запрос не вернулся, когда функция get была вызвана для вашего источника данных.

Вам нужно убедиться, что данные готовы в вашей функции get. Я не уверен, что находится на другой стороне вызова запроса, но если есть какой-то способ получить обещание от этого вызова, вы можете просто использовать его в get для выполнения обратного вызова, когда он завершится.

Другие вопросы по тегам