2014-01-20 84 views
1

我遇到了angularJS的問題,我有兩個工廠,當我想調用另一個工廠的方法時,出現此錯誤: TypeError:無法調用方法'getValue 「未定義AngularJS不能調用undefined的方法'getValue'

我的兩個工廠:

technoServices.factory('Shared', 
    function(){ 
     var Shared={}; 
     Shared.setValue=function(header){ 
       Shared.header = header; 
      } 
     Shared.getValue=function(){ 

       return Shared.header; 
      } 
     return Shared; 
     }); 

technoServices.factory('Config',['$resource','Shared', 
    function($rootScope,$resource,token,Shared){ 

return $resource('../../rest/config',null,{ 
    get: { 
     method:'GET', 
     headers:{'X-Token':''+Shared.getValue()}, 
     isArray:false} 
}); 
}]); 

的錯誤是,當我這樣做:Shared.getValue()

回答

2

在你的配置工廠定義注入陣列不匹配函數的參數。你聲明瞭兩個元素,而你的函數簽名需要四個參數,所以最後兩個元素將是未定義的。

technoServices.factory('Config',['$resource','Shared', 
    function($rootScope,$resource,token,Shared){ 

喜歡的東西:

technoServices.factory('Config',['$rootScope', '$resource', 'token', 'Shared', 
    function($rootScope,$resource,token,Shared){ 
相關問題