AngularJS ui-utils ui.scroll不显示结果

时间:2014-07-16 01:49:13

标签: javascript angularjs ui-scroll

我有一个使用AngularJS的rails 4应用程序。 我试图使用angular的ui-utils模块中的ui.scroll指令创建一个原型。 当我使用ng-repeat时,我的rails API工作得很好,但是当我尝试使用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 个答案:

答案 0 :(得分:1)

所以我猜这里的问题是,在数据源上调用get函数时,查询没有返回。

您需要在get函数中验证数据是否已准备就绪。我不确定查询调用的另一端是什么,但是如果有某种方法可以从该调用获得一个promise,那么你可以在get完成时在get回执行中使用它。