Angular - Lazy Load List

时间:2015-11-24 16:43:45

标签: javascript jquery angularjs

我的应用程序的一个选择下拉列表中包含大量项目,导致页面加载略有延迟。

目前,我使用基本的http调用来获取下拉项目,然后只需将数据插入范围。

在处理大量下拉列表时是否有一种典型的方法?

如果需要可以发布代码,但如上所述它基本上是

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

$scope.myListItems = response

我也在使用选择的图书馆。

2 个答案:

答案 0 :(得分:0)

Angular' $http的好处是内置的cache function。只需将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);
   });

答案 1 :(得分:0)

您是否尝试在$ timeout中将调用包装到$ http.get以延迟它直到页面加载后?