显示已经加载 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.$ro​​otScope.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 初学

Angular js - 显示/隐藏每条新路线的加载 gif

Angular js - 显示/隐藏每条新路线的加载 gif

Angular2 如何清理 AppModule

Angular 7:ng serve 工作,但控制台显示 Zone.js 错误并且应用程序不会加载