我试图定义一个常量并将其注入工厂。我的常量定义如下:
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');
};
上面的代码正在运行,但是我不需要将常量作为依赖项注入工厂方法吗?我可以使用$ inject将常量注入控制器,但不能将其注入工厂。
答案 0 :(得分:1)
在angular的依赖注入中,如果不进行依赖注释(如设置。$ inject),angular将假定函数参数名称是依赖项的名称。
但不要依赖此功能,因为当您尝试缩小代码时会导致问题。
因此,最好的做法应该是在依赖注入的任何地方进行依赖注释。
顺便说一句,你可以在工厂设置$ inject,但也许你应该在你的情况下拨打CustomerService.$inject = ['BaseApiURL','$resource'];
。