优化离子应用程序中的大列表视图
Optimizing large list View in Ionic App
我正在尝试从http, json array
获取数据并以list view
显示,并且有超过 1000 个项目,一次加载所有项目会使滚动如此滞后,并试图先加载 20 个项目,向下滚动时我想加载更多 20 个项目,但我的代码不起作用。谁能帮我。
.HTML
<ion-content ng-controller="ListController" on-infinite-scroll="addMoreItem" class="has-subheader" scroll-watch >
<ion-list >
<ion-item href="{{ item.url }}.jpg" ng-repeat="item in id | limitTo:numberOfItemsToDisplay" class="item-thumbnail-left item-text-wrap" >
<img src="{{ item.thumbnailUrl }}.jpg" alt="Photo">
<h2>
{{item.id}}
</h2>
<p>{{item.title}}</p>
</ion-item>
</ion-list>
</ion-content>
AngularJS
.controller('ListController',['$scope','$http',function($scope,$http){
$http.get('http://jsonplaceholder.typicode.com/photos').success(function(data){
$scope.id = data;
})
$scope.numberOfItemsToDisplay = 20; // number of item to load each time
$scope.addMoreItem = function(done) {
if ($scope.item.length >= $scope.numberOfItemsToDisplay)
$scope.numberOfItemsToDisplay += 20; // load 20 more items
done(); // need to call this when finish loading more data
}
}])
在处理庞大的列表时,ionic 建议你应该使用 collection-repeat
指令而不是ng-repeat
因为它提供了更好的性能。 collection-repeat
仅呈现到当前可见的尽可能多的项目到 DOM 中,这就是它保持性能的方式。请在此处阅读有关官方文档的更多信息:收集重复
我建议通过无限滚动来解决它。 :)
相关文章:
- 如何将参数从列表视图中的项传递到模板
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- 取消选择滚动启动时的所有列表视图项目
- 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图
- 通过格式化将jquery移动组件动态添加到列表视图中
- jqmobile列表视图中元素之间的间距相等
- 如何在Vue.js中使用列表视图
- jQuery移动列表视图和面板
- 剑道移动列表视图更改过滤器onclick
- Metro 应用程序中的列表视图项目单击
- 列表视图在Android上滚动断断续续且缓慢
- 我们可以在 CouchDB 中对排序列表视图进行排序吗?
- 用户控件内的 ASP 列表视图.如何在用户控件完全加载后触发 javascript
- 使 Windows 8 列表视图可编辑
- 如何使按钮的行为因选定的列表视图项而异
- 在PHP循环中动态创建jQuery列表视图
- jQuery访问列表视图->ul->李->span->img
- 带有砖石结构的轴网视图/列表视图
- 访问可扩展QML应用程序中的列表视图索引
- jquery-mobile的列表视图中的两个弹出窗口