Angular js ng-repeat将浏览器挂起超过10000条记录

时间:2017-01-06 10:25:11

标签: angularjs

我在选项标签中使用ng-repeat,同时显示一个选择框。当我的记录达到10000时,我的浏览器挂起...我已经使用::来禁用双射。我想使用limitTo但是当用户向下滚动时无法动态更改它。有人可以告诉我一个处理这个问题的方法。

如果需要,我也可以使用自动完整的盒子......任何人都可以建议如何使用角度为js的自动完成盒

我终于使用HTML5 datalist将它与angular js ng-repeat绑定......它现在正在工作......

3 个答案:

答案 0 :(得分:0)

您可以使用 limitTo 过滤器,这将限制需要在视图上显示的数据集,

<div ng-repeat="datobj in data | limitTo:1000">{{datobj}}</div>

答案 1 :(得分:0)

试试这个:

  <input type="text" ng-model="search">
  <ul ng-show="search.length>3">
      <li ng-click="selectObject(obj)" ng-repeat="obj in objList| filter:search">
   </ul>

当用户输入超过3个字符时,这将显示下拉列表。

答案 2 :(得分:0)

尝试一下:

<select class="form-control" data-placeholder="Select" data-ng-model="modelValue" data-ng-change="ChangeModel(modelValue)" ng-options="la.Value as la.Key for la in object"> </select>

   $scope.ChangeModel = function (value) {
        setTimeout(function () {
            $scope.modelValue = $scope.modelValue.replace(/string:/g, "");
            if (!$scope.$root.$$phase) {
                $scope.$apply();
            }
        })
    }