我遇到了angularJS的问题,我有两个工厂,当我想在另一个工厂调用一个工厂的方法时,我得到这个错误: TypeError:无法调用未定义的方法'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()
答案 0 :(得分:2)
在Config工厂定义中,注入数组与函数的参数不匹配。您声明了两个元素,而您的函数签名需要四个参数,因此最后两个将是未定义的。
technoServices.factory('Config',['$resource','Shared',
function($rootScope,$resource,token,Shared){
类似的东西:
technoServices.factory('Config',['$rootScope', '$resource', 'token', 'Shared',
function($rootScope,$resource,token,Shared){