显示已经加载 Angular JS 的数据
Posted
技术标签:
【中文标题】显示已经加载 Angular JS 的数据【英文标题】:Display data that already loaded Angular JS 【发布时间】:2012-11-24 05:09:32 【问题描述】:我有一个使用 Angular Js 的 chtml 页面,其中包含来自数据库的对象列表 但是加载数据需要很长时间。 如何仅加载 10 个对象并显示它们,然后继续加载数据 并在 Angular Js 中显示其余数据????
【问题讨论】:
您是在询问加载时分页或分手吗?? 如果你想要分页,你可以参考这个链接:- [***.com/questions/11581209/… [1]: ***.com/questions/11581209/… 我不想要分页。我想慢慢看数据显示,现在它加载了一些秒而不是显示所有数据。我想立即看到部分数据 您必须将调用分离为多个同步调用,例如调用以获取前 20 个,然后是下一个 20,依此类推... 【参考方案1】:听起来您有很多数据要慢慢加载到前端,这样您就不必等待了。我能想到的唯一定期添加数据的方法是 setInterval。
关键是创建一个新变量
$scope.displayObjects = []
你可以像这样连续追加
for(var x = currentIndex; x < currentIndex + step && x < $scope.objects.length; x++)
$scope.displayObjects.push($scope.objects[x]);
然后只需设置一个间隔来连续调用它。您还需要使用
$scope.$apply()
告诉 Angular 重新应用自己 (http://docs.angularjs.org/api/ng.$rootScope.Scope#$apply)。
http://jsfiddle.net/A9uND/20/ 您可以通过 step 变量调整每一步的加载量。
下次添加一个 jsfiddle(或类似的东西),这样更容易为您提供帮助。
虽然上述方法可行,但我建议跟踪您可以看到多少,然后只加载相关的。随着您滚动添加更多内容。
【讨论】:
谢谢!!我认为它对我有用。但我从 json 文件中获取数据。我使用:"$http.get('List.json').success(function (data ) )"。我怎样才能从文件中只获取 10 个对象??? 你不会只得到 10 个对象,你可以得到一切。然后使用 setInterval 对其进行迭代。因此,在您的情况下,我会将数据存储在 $scope.objects 中,然后触发一个函数来设置间隔并继续前进。以上是关于显示已经加载 Angular JS 的数据的主要内容,如果未能解决你的问题,请参考以下文章
我们为什么以及是如何从 Angular.js 迁移到 Vue.js?
Angular js - 显示/隐藏每条新路线的加载 gif