2015-10-19 12 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)都很好記錄 –