Angular - Lazy Load List

0

В одном из раскрывающихся списков для моего приложения есть огромное количество элементов, что приводит к небольшой задержке загрузки страницы.

В настоящее время я хватаю элементы для выпадания, используя базовый http-вызов, а затем просто вставляю данные в область видимости.

Существует ли типичный подход, который используется при работе с огромными списками для выпадающих списков?

Может отправлять код, если это необходимо, но, как уже упоминалось, в основном

$http.get(myListUrl).then....

$scope.myListItems = response

Я также использую библиотеку Chosen.

  • 0
    Это звучит как плохой дизайн. Если у вас действительно так много предметов, вы должны разбивать их на страницы.

2 ответа

0

Вы пробовали обернуть вызов $ http.get в $ timeout, чтобы отложить его до загрузки страницы?

0

Великая вещь о Angular $http - это встроенная функция кеша. Просто установите cache в true. Это создаст настраиваемую службу, которая извлекает данные, если она пуста, и заполняет ее с успехом. В следующий раз, когда служба будет вызвана, она не будет вызывать службу, а вместо этого извлекает данные из кеша.

$http.get(myListUrl, { cache: true}).success(...);

Кроме того, вы можете использовать $ cacheFactory

var cache = $cacheFactory('myCache');
var data = cache.get(someKey);
if (!data) {
   $http.get(url).success(function(result) {
      data = result;
      cache.put(someKey, data);
   });
  • 0
    Уже использую кеш :) К сожалению похоже не помогает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню