2016-07-13 31 views
0

我想定义一个常量并将其注入工厂。我不断的定义如下:

angular.module("ContactApp").constant("BaseApiURL", "http://localhost:31523/api/"); 

我厂被定义为:

angular.module("ContactApp").factory('CustomerService', CustomerService); 

//CustomerService.$inject = ['BaseApiURL']; Giving Error when this line is active. 

function CustomerService(BaseApiURL, $resource) { 

    return $resource(BaseApiURL + 'Customers'); 
}; 

上面的代码工作,但不要我需要不断的依赖注入的工厂方法?我可以使用$注入到控制器中注入常量,但无法将其注入工厂。

+0

这种方法的问题是什么? –

+0

根据我的知识,我们需要在任何控制器中使用它之前注入任何服务,类似的,我想我需要注入常量之前使用它到工厂方法,所以我试图使用CustomerService注入它$ inject = [ 'BaseApiURL'];但随后代码停止工作。我正在寻找解释。 –

+0

你得到了什么错误..? –

回答

1

在角的依赖注入,如果你不这样做的依赖性注释(如设置。$注射),角度会认为该函数的参数名称是依赖的名称。

但不要依赖此功能,因为它会导致问题,当您尝试来缩小你的代码。

所以最好的做法应该是做的依赖注释只要有依赖注入。

顺便说一句ü可以设置$工厂注资,但也许ü应该叫CustomerService.$inject = ['BaseApiURL','$resource'];你的情况。