2015-10-19 13 views
-1

我只是通过angular.js教程goinh这里,基本上下面的脚本是建立在本教程通过:

angular.module('APP',[]). 
      controller('theController' , ['$scope' , '$http' , function($scope , $http){ 
       $http.jsonp('http://www.filltext.com/?rows=30&id={index}&fname={firstName}&lname={lastName}&sales={randomNumberRange|100to2000}&bonus={randomNumberRange|200to600}&callback=JSON_CALLBACK').success(function(data){ 
          $scope.users = data 
        });  
        $scope.totalMoney = function(user) { 
         return user.sales + user.bonus; 
        } 
      }]).filter('initials' , function(){ 
       return function(text){ 
        var names = text.split(' '), 
         holder = []; 
        angular.forEach(names , function(item){ 
         holder.push(item.substring(0,1) + '.'); 
        }); 
        return holder.join(''); 
       } 
      }); 

,啧啧实际上是约如何创建自定义过滤器,这很好解释。但我不太明白'$http'被传入,有人可以解释一下吗?

+0

它通过了,因为它在控制器 – tymeJV

+0

使用@kodvin我绝对已经知道了! –

回答

1

我猜你试图了解“注射”的概念。这里有一个关于细节的教程:https://docs.angularjs.org/guide/di

但是,简而言之。在Angular执行大多数方法之前,它会扫描它们以查看它们正在查找的内容,然后按预期顺序将这些参数传递给该方法。

通常在javascript中,您必须知道传递了哪些命令参数,然后相应地命名它们。但是对于Angular来说,这是相反的。它预计你要求什么,并给你你想要的。

使用的阵列格式被称为“依赖性注释”,并且是角度特定的格式。它只是在那里使缩小工作。没有缩小,你可以做以下的,它也将工作:

angular.module('APP',[]). 
    controller('theController', function($scope , $http){ 
     $http.jsonp('http://www.filltext.com/?rows=30&id={index}&fname={firstName}&lname={lastName}&sales={randomNumberRange|100to2000}&bonus={randomNumberRange|200to600}&callback=JSON_CALLBACK').success(function(data){ 
        $scope.users = data 
      });  
      $scope.totalMoney = function(user) { 
       return user.sales + user.bonus; 
      } 
    }).filter('initials' , function(){ 
    return function(text){ 
     var names = text.split(' '), 
      holder = []; 
     angular.forEach(names , function(item){ 
      holder.push(item.substring(0,1) + '.'); 
     }); 
     return holder.join(''); 
    } 
    }); 
+0

'$ scope'和'$ http'在角度上是什么?这些东西叫做什么? –

+0

我建议做一个[角速度课程](http://toddmotto.com/ultimate-guide-to-learning-angular-js-in-one-day/)来覆盖一些核心概念。此外,搜索Angular文档,这非常有帮助。 ['http http]](https://docs.angularjs.org/api/ng/service/$http)和['$ scope'](https://docs.angularjs.org/guide/scope)都很好记录 –