首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Angularjs中的服务成功响应后,加载数据到DOM的延迟太大

在Angularjs中的服务成功响应后,加载数据到DOM的延迟太大
EN

Stack Overflow用户
提问于 2016-08-10 07:36:03
回答 1查看 311关注 0票数 0

我试图将大量数据加载到html表中。

  1. 点击按钮。 负载数据
  2. 按钮调用函数get_product 函数() { //加载程序映像显示了var PAYMENTCOLL.getStatusBasedPaymentCollection();= $scope.get_product // get_product调用get_product.success(函数(数据){ $scope.pagedItems = data;//set data set });//加载程序图像隐藏};
  3. 使用pagedItemsng-repeat数组加载到html表中。

案例1:

在数据集较小的情况下,当数据完全加载到DOM中时,“加载程序映像”就会隐藏。

案例2:

如果数据集很大,“加载程序图像隐藏”,但是数据仍然加载到DOM中(在隐藏加载程序之后加载数据还需要3-4秒)。

用途:

我的目的是显示加载程序映像,直到所有数据成功加载到DOM中为止。在将所有数据加载到DOM中之后,我希望隐藏加载程序映像。

如何解决案例2的问题?感谢前方的

EN

回答 1

Stack Overflow用户

发布于 2016-08-10 07:47:55

你考虑过用承诺吗?

使用$q承诺,这样您就可以在承诺完成后设置$scope.showLoaderImage

代码语言:javascript
运行
复制
$scope.get_product = function () {
    $scope.showLoaderImage = true;
    PAYMENTCOLL.getStatusBasedPaymentCollection().then(function (e) {
        $scope.showLoaderImage = false;
        $scope.pagesItems = e.data.d;
    }, function (err) {
        //Handle Errors
    })
};

为了在DOM中反映$scope.showLoaderImage的状态,请使用ngShow,如下所示:

代码语言:javascript
运行
复制
<div ng-show="showLoaderImage">
   <!-- Image here -->
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38867003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档