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 для выполнения обратного вызова, когда он завершится.