2015-11-25 33 views
-1

我已經看過了這個錯誤的多個線程,但下面對其中2指示,它仍然拋出了同樣的錯誤,這是我的服務:AngularJS:拋出未知的提供程序錯誤

angular.module('sccateringApp') 
    .service('httpcalls', function ($scope, $http) { 
     var BackEndBaseURL = "methods/server.php"; 
     return { 
      .. 
     } 
    }); 

這裏是我的控制器:

angular.module('sccateringApp') 
    .controller('newCategoryController', ['httpcalls', '$scope', function (httpcalls, $scope) { 

     $scope.submitForm = function(){ 
     alert(); 
     } 

    }]); 

我真的不能確定是什麼問題,因爲我已經包括了服務本身作爲控制器的依賴。任何幫助都感激不盡!

+2

只有控制器取代module.service訪問'$ scope'。從你的'httpcalls'服務中刪除它。此外,在將來,將任何錯誤消息添加到您的問題 – Phil

+0

對不起,我對Angular比較陌生,如果您將其作爲答案發布,我會將其標記爲正確的。謝謝!我知道這很簡單,導致了錯誤。 – codeninja

+0

可能重複[AngularJS拋出未知的提供者:$ scopeProvider < - $範圍錯誤,當我嘗試使用模塊](http://stackoverflow.com/questions/19546032/angularjs-throws-unknown-provider-scopeprovider-scope-error - 當 - 我試到) – Phil

回答

1

更新:菲爾是正確的,真正的提供者錯誤來自於對$scope的依賴,在他發佈時給他的信任。


它看起來像你正在創建一個工廠,而不是服務。

你不需要從服務中返回任何東西,而是在this(這是一個原型實例,就像一個類)中聲明的東西。

sccateringApp.service('httpcalls', function ($scope, $http) { 
    var BackEndBaseURL = "methods/server.php"; 

    this.someMethod = function() { ... } 
    this.someProperty = ... 
}); 

否則,僅僅通過module.factory

相關問題