我的应用程序的一个选择下拉列表中包含大量项目,导致页面加载略有延迟。
目前,我使用基本的http调用来获取下拉项目,然后只需将数据插入范围。
在处理大量下拉列表时是否有一种典型的方法?
如果需要可以发布代码,但如上所述它基本上是
$http.get(myListUrl).then....
$scope.myListItems = response
我也在使用选择的图书馆。
答案 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以延迟它直到页面加载后?