[英]AngularJS error: Cannot read property 'get' of undefined
我是AngularJS的新手,正在嘗試通過$ http.get請求檢索變量。 我已經設置了類似於我所看到的幾個示例的代碼,並且無法弄清為什么我收到“無法讀取未定義的屬性'get'的未定義”錯誤消息。 我在該網站上發現了類似的問題,但它們都指向各種格式問題。 我找不到一個,所以我希望有人可以指出我做錯了什么。 以下是我使用$ http的服務。
(function () {
angular
.module('golfleague.player')
.factory('PlayerService', ['$http', function($http){
var onError = function(data) {
data.errors = data;
};
function getLastName($http) {
return $http.get('/player/lastname').then(onFetchLastNameComplete, onError);
function onFetchLastNameComplete(response) {
return response;
}
}
return {
getLastName: getLastName
};
}]);
})();
您將$http
依賴項作為PlayerService
的getLastName
函數參數中的參數,並且您想使用注入的$http
服務依賴項。 因此,在調用getLastName
函數時,其參數值為$http
它將優先於當前的本地函數變量並PlayerService
的$http
服務的PlayerService
。 由於現在$http
方法是未定義的,因此您將不會在其中定義get
方法,這就是為什么會出現錯誤。
通過從getLastName
函數參數中刪除$http
將解決您的問題。
function getLastName() { //<--removed $http from here
return $http.get('/player/lastname').then(onFetchLastNameComplete, onError);
function onFetchLastNameComplete(response) {
return response;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.