2017-05-29 4 views
0

私はちょうどAngularの初心者です。

これはおそらく最も基本的な質問ですが、私はその概念を理解できないようです。

$ http - 私はその目的を理解しています。

コントローラーを明るくするために、$ http()をコントローラーに書き込まないようにしてください。だから彼らはコントローラにそれを注入する必要があります。私はこれまで理解することができます。

私は$httpをコントローラーに注入したばかりのプロジェクトを持っていますが、$httpは何をすべきかを定義していません。

これは、$ httpを定義する方法です。

$http({ 
    method : "GET", 
    url : "welcome.htm" 
}).then(function mySuccess(response) { 
    $scope.myWelcome = response.data; 
}, function myError(response) { 
    $scope.myWelcome = response.statusText; 
}); 

$ httpをパラメータとして使用するすべてのコントローラで、この構文を使用して$ httpを定義する必要があると仮定しました。あるいは、$ httpが何をすべきかについていくつかの一般化された定義があるはずです。

私の驚いたことに、私のプロジェクトではこのような定義は見つかりませんでした。

私の質問は、$ httpを定義していないときに、パラメータとしてコントローラに渡すだけで、どのように動作するのでしょうか?

+0

実際には角度のあるドキュメント – Bowofola

答えて

1

$ httpは、$ http.get、$ http.postのようなhttp呼び出しを行うことができるAngularJsサービス(基本的にXMLHttpRequestのラッパー)です。これを使用するには、これをコントローラに注入する必要があります。これをコントローラに注入したら、$ http.getを使用するか、構文を使って自分のページやAPIを呼び出します。

要するに、あなたは、GETまたはPOSTの呼び出しあなたのコントローラや工場での$ HTTPを使用するか、またはあなたが

に好きなところAngularJs組織からlinkを参照してくださいにするためにコードを記述する必要があります。この詳細は:

0

what will happen when I don't define $http but just simply pass it to the controller as a parameter

ただ、この例に見て:

var protocol = "$http"; // suppose getting "$http" from $stateParams or $routParams 
protocol({ 
method : "GET", 
url : "welcome.htm" 
}).then(function mySuccess(response) { 
    $scope.myWelcome = response.data; 
}, function myError(response) { 
    $scope.myWelcome = response.statusText; 
}); 

$httpは、我々が変数として使用することはできませんアンギュラサービスであるとして、それはあなたに以下のエラーが発生します。

TypeError: protocol is not a function

関連する問題