2014-07-16 25 views
4

我有一個使用AngularJS的rails 4應用程序。 我正在嘗試使用來自angular的ui-utils模塊的ui.scroll指令來創建原型。 當我使用ng-repeat時,我的rails API工作得很好,但是當我嘗試使用ng-scroll時,我的視口從來沒有任何數據。 注:我在應用程序的其他部分使用jquery,所以我沒有使用任何jqlite的東西。AngularJS ui-utils ui.scroll不顯示結果

查看:(我跳過所有的頭的東西 - 但要知道的是,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; 
    } 
    }; 
} 

]); 
+0

你確定它是'ng-scroll'看來他們在1.0版本中改變了它:https://github.com/angular-ui/ui-utils/tree/master/modules/scroll'把ng-scroll重命名爲UI的scroll.' – HMR

回答

1

所以我想你在這裏的問題是,當你的數據源調用get函數時,查詢沒有返回。

您需要驗證數據已準備好在您的get函數中。我不確定查詢調用的另一端是什麼,但是如果有某種方法可以從該調用中獲得承諾,那麼只需在get中使用它就可以在完成時執行回調。