簡體   English   中英

AngularJS錯誤:無法讀取未定義的屬性“ get”

[英]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依賴項作為PlayerServicegetLastName函數參數中的參數,並且您想使用注入的$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM