使用angularjs

时间:2017-04-20 10:35:11

标签: javascript angularjs angularjs-directive angularjs-ng-repeat

我有数百万条记录需要获取并将其绑定到我的angularjs应用程序中的select下拉列表中。但是,正如我们所知道的那样,它会导致性能问题。所以我正在寻找严肃的解决方案,就像选择下拉列表中的ui-grid无限滚动功能一样。

HTML模板:

<select ng-model="zipCode" ng-options="zip.FZIP as zip.FZIP for zip in zipCodes | limitTo: totalDisplayed" ng-init="zipCodeInit()" ng-change="loadMore(totalDisplayed);"></select>

控制器代码:

$scope.totalDisplayed =1000;
$scope.loadMore = function (startCount) {
   var endCount=startCount + 1000;
   $http.get('api/get-zip-codes?rowStartCount=startCount&rowEndCount=endCount').then(function(response){
      $scope.data = $scope.data + response.data;
      $scope.totalDisplayed += 1000;  
   });
};

这里我的问题是在我的选择下拉列表的滚动上调用loadmore函数。我目前的实施是ng-change。

任何想法或解决方案都有助于在此选择下拉列表中进行预期的更改。

3 个答案:

答案 0 :(得分:0)

使用这个jQuery插件它会帮助你

http://jscroll.com/

答案 1 :(得分:0)

您可以参考Solution For Very Long Dropdown Menus

这会有所帮助,它包含所有代码以及视觉效果。

答案 2 :(得分:0)

我只是意识到我们无法通过动态下拉列表在滚动条件上加载数据,这是要求,因为要列出大量记录,例如2Lakhs +记录。为了克服这个问题,我使用了预测搜索/自动完成文本框,它根据用户输入完美地与我合作。 谢谢你的回答。