@Scorpiored88

Как правильно написать autocompete/Поиск с выпадающим списком на ангулар, который будет работать с большим масивом данных?

Пытаюсь сделать простенький autocoсplete,возможно не совсем правильно но ....
вот мой код html :
<input type="search" placeholder="Search" ng-model="stationSearch.val">
 <button class="button" ng-click="setStation(bn.name)" ng-repeat="bn in itemsList | filter:stationSearch.val">
              {{bn.name}}
          </button>

и код контроллера :
$scope.stationSearch = {}'';
 $scope.setStation = function(bnn){
            $scope.stationSearch.val = '';
            $scope.stationSearch.val = bnn;
};

$http.get('http://serverUrl/')
   .success(function(data){
      $scope.itemsList = data;
    })

после ответа $scope.itemsList равен :
$scope.itemsList = [
            {'name': 'Iapetos Baltazar', 'amount': 1},
            {'name': 'Mordred Maui', 'amount': 4},
            {'name': 'Verethragna Tane', 'amount': 20},
            {'name': 'Arawn Lir', 'amount': 7},
            {'name': 'Cepheus Zephyrus', 'amount': 15},
            {'name': 'Leander Pallas', 'amount': 9},
            {'name': 'Chryses Vohu Manah', 'amount': 13},
            {'name': 'Nuadha Lycus', 'amount': 19}
        ];

только в действительности этот массив "itemsLis" имеет около 2000 (2 тис) элементов object,и при наборе букв получается довольно большая задержка :(
Может кто подскажет как мне изменить мой фильтр чтобы он работал без тормозов.
Или возможно есть уже хорошие готовые решения autocompete которые работают с большим масивом данных ?

П.С.
Ето часть моего PhoneGap приложения.
  • Вопрос задан
  • 284 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Scorpiored88 Автор вопроса
Дело в том,что этот код из моего PhoneGap приложения.Данные из сервера программа будет запрашивать всего лишь раз (или при обновлении базы),после чего записывает их в локальный файл,и при каждом следующим запуске программы,переменная "itemsLis" будет наполнятся с этого локального файла
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы