2014-10-27 15 views
0

我有一個AngularJS Singplepageapp。現在我要顯示的數據集的一個大數目(它應該工作的罰款器用50000個數據集):如何渲染angularJS中的大量數據集?

<ul> 
    <li ng-repeat="node in data"> 
     <a ng-if="node.children == false" class="lastitem" ng-click="set(node.nodeID)" ng-class="{active: node.nodeID == selectedID}"> 
      <span>{{node.Name}}</span> 
     </a> 
    </li> 
</ul> 

即使這樣簡單的模板(應該是更復雜的後期)主罰瀏覽器(Firefox)〜45秒內呈現。此外,瀏覽器會凍結該時間段。

有沒有什麼辦法可以顯示這麼大量的數據而不需要永久使用?

非常感謝!

回答

0

你可以部分加載數據讓我們說1000,當用戶滾動到更多的1000 1000獲取更多並將它們追加到您的視圖。

使用類似:

.directive("loadMoreData", [function() { 
    return { 
     restrict: 'ACE', 
     link: function($scope, element, attrs, ctrl) { 
      var raw = element[0]; 
      element.scroll(function() { 
       if (raw.scrollTop + raw.offsetHeight >= raw.scrollHeight){ 
        $scope.$apply("loadMoreData()"); 
       } 
      }); 
     } 
    }; 

}])

Source