如何使用angularjs中的服务数据正确构造/更新指令?

罗兰多

在第一次加载时,我希望应用程序在第一次加载时从X个http请求(X基于水果中元素的数量)异步检索数据,并更新一条指令,该指令显示已检索到多少个项目。检索所有项目后,将触发一个事件,导致该指令/ dom元素被隐藏。

用angular做到这一点的最佳方法是什么?以下是我对服务,控制器和指令的职责的看法。这是正确的吗?还是应该有其他/更好的方法来做到这一点?

    APP.service('myService', function($http) {
       this.fruits = ['Apple', 'Bannana', 'Pear', 'Orange'];
       this.processedFruit = [];
    });

    APP.controller('myController', ['$scope', '$http', 'myService', function($scope,$http) {
          $scope.$emit('LOAD');
          // Should the following be in the service instead of the controller?
          for(var i = 0; i < myService.fruits; i++) {
                $http.get('someurl/'+fruits[i]).success(function(response) {
                    myService.processedFruit.push(response);


          // Somehow tell the "statusofloading" directive to update its (Completed $http Requests)?
            });
      }
      // Once all requests are finished $scope.$emit('UNLOAD') somehow to the directive?;
}]);

APP.directive('statusofloading', function() {
    return {
        scope:true,
        restrict:'E',
        link: function($scope,e,a) {
                //Completed $http Requests
                $scope.completeRequests = 0;

                // Total $http Requests
                $scope.totalRequests = // Get the number from the service somehow from (length of this.fruits);
                        $scope.$on('LOAD', function(){$scope.loading=true});
                        $scope.$on('UNLOAD', function(){$scope.loading=false});      
        },
        replace: true,
        template:"<h1>({{completedRequests}}) / ({{totalRequests}}) </h1>"
    }
})
莫里斯

$ emit使用第二个参数,您可以在其中传递任何所需的参数。

$scope.$emit('LOAD',{totalRequests: myService.fruits});

然后在您的指令中:

$scope.$on('LOAD', function(args){
    $scope.loading=true;
    $scope.totalRequests = args.totalRequests;
});

然后,您可以告诉指令何时完成请求,并且知道何时完成所有操作,并且需要隐藏自身。确保将失败的请求和成功的请求通知给指令。

另请参阅角度忙碌,这是解决该问题的另一种通用方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在使用数据初始化指令之前确保服务中的$ http.get完成?

来自分类Dev

如何使用angularjs中的服务数据正确构造/更新指令?

来自分类Dev

AngularJS:如何从控制器中的模型数据正确设置服务属性?

来自分类Dev

使用多个服务的AngularJS指令

来自分类Dev

AngularJS从指令看服务变量,如何正确实现工厂?

来自分类Dev

如何从服务中将数据检索到指令(angularjs)

来自分类Dev

AngularJS。在服务中解决了承诺后,如何更新指令?

来自分类Dev

AngularJS-如何在指令中使用服务

来自分类Dev

AngularJS更新指令中显示的数据

来自分类Dev

为什么未从指令更新服务中的数据?

来自分类Dev

如何使用AngularJS更新/编辑数据库中的数据

来自分类Dev

AngularJs从指令中的服务响应中处理数据

来自分类Dev

AngularJS使用子指令作为指令数据

来自分类Dev

如何刷新使用AngularJS中的$ resource服务获取的本地数据

来自分类Dev

除非使用angularjs刷新页面,否则如何修复指令中来自服务的显示数据?

来自分类Dev

如何在使用数据初始化指令之前确保服务中的$ http.get完成?

来自分类Dev

如何使用服务中的数据更新指令?

来自分类Dev

使用多个服务的AngularJS指令

来自分类Dev

在Angularjs中绑定指令时,如何正确使用'&'?

来自分类Dev

调用服务方法后AngularJs更新指令

来自分类Dev

如何使用模拟数据测试AngularJS服务中的功能

来自分类Dev

AngularJS更新指令中显示的数据

来自分类Dev

如何在AngularJS中的Controller之间正确共享和更新数据?

来自分类Dev

使用服务时AngularJS无法正确加载指令

来自分类Dev

AngularJS使用子指令作为指令数据

来自分类Dev

AngularJS更新指令中的值

来自分类Dev

angularjs从服务中获取正确的格式数据

来自分类Dev

如何在 AngularJS 指令中更新类

来自分类Dev

如何使用 angularjs 指令中的内置服务?

Related 相关文章

  1. 1

    如何在使用数据初始化指令之前确保服务中的$ http.get完成?

  2. 2

    如何使用angularjs中的服务数据正确构造/更新指令?

  3. 3

    AngularJS:如何从控制器中的模型数据正确设置服务属性?

  4. 4

    使用多个服务的AngularJS指令

  5. 5

    AngularJS从指令看服务变量,如何正确实现工厂?

  6. 6

    如何从服务中将数据检索到指令(angularjs)

  7. 7

    AngularJS。在服务中解决了承诺后,如何更新指令?

  8. 8

    AngularJS-如何在指令中使用服务

  9. 9

    AngularJS更新指令中显示的数据

  10. 10

    为什么未从指令更新服务中的数据?

  11. 11

    如何使用AngularJS更新/编辑数据库中的数据

  12. 12

    AngularJs从指令中的服务响应中处理数据

  13. 13

    AngularJS使用子指令作为指令数据

  14. 14

    如何刷新使用AngularJS中的$ resource服务获取的本地数据

  15. 15

    除非使用angularjs刷新页面,否则如何修复指令中来自服务的显示数据?

  16. 16

    如何在使用数据初始化指令之前确保服务中的$ http.get完成?

  17. 17

    如何使用服务中的数据更新指令?

  18. 18

    使用多个服务的AngularJS指令

  19. 19

    在Angularjs中绑定指令时,如何正确使用'&'?

  20. 20

    调用服务方法后AngularJs更新指令

  21. 21

    如何使用模拟数据测试AngularJS服务中的功能

  22. 22

    AngularJS更新指令中显示的数据

  23. 23

    如何在AngularJS中的Controller之间正确共享和更新数据?

  24. 24

    使用服务时AngularJS无法正确加载指令

  25. 25

    AngularJS使用子指令作为指令数据

  26. 26

    AngularJS更新指令中的值

  27. 27

    angularjs从服务中获取正确的格式数据

  28. 28

    如何在 AngularJS 指令中更新类

  29. 29

    如何使用 angularjs 指令中的内置服务?

热门标签

归档