В одном из раскрывающихся списков для моего приложения есть огромное количество элементов, что приводит к небольшой задержке загрузки страницы.
В настоящее время я хватаю элементы для выпадания, используя базовый http-вызов, а затем просто вставляю данные в область видимости.
Существует ли типичный подход, который используется при работе с огромными списками для выпадающих списков?
Может отправлять код, если это необходимо, но, как уже упоминалось, в основном
$http.get(myListUrl).then....
$scope.myListItems = response
Я также использую библиотеку Chosen.
Вы пробовали обернуть вызов $ http.get в $ timeout, чтобы отложить его до загрузки страницы?
Великая вещь о 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);
});