Javascript 角模与依赖注入
假设:我使用一个名为常量的模块 我想在另一个模块中使用此常量A:Javascript 角模与依赖注入,javascript,angularjs,dependency-injection,Javascript,Angularjs,Dependency Injection,假设:我使用一个名为常量的模块 我想在另一个模块中使用此常量A: angular.module("moduleThatUseConstants", ["constants"]) .service("B", ["A", Services.B]); // here I use A 真管用!但是,如果我已经有了另一个常量或控制器等称为A呢 问题:如何指定A来自模块常量?我试过: .service("B", ["constants.A", Services.B]); 但这不起作用$injector
angular.module("moduleThatUseConstants", ["constants"])
.service("B", ["A", Services.B]); // here I use A
真管用!但是,如果我已经有了另一个常量或控制器等称为A呢
问题:如何指定A来自模块常量?我试过:
.service("B", ["constants.A", Services.B]);
但这不起作用$injector:unpr未知提供程序常量。A您无法实现这一点。具有相同名称的后一个将始终被解析。这是Angular 1.x中DI的缺点之一。我希望在Angular 2 DI中看到解决方案。如果您已经有另一个名为a的常量或控制器等将在最后包含时使用,您不能指定从何处获取服务它将使用最后包含的a。但是我不能指定依赖项的源模块吗?您不能指定,它可能在angular 2.0中得到解决,作为解决方法,您可以使用前缀,如示例angular.moduleconstants,[].constantconstants.A,10;并像.serviceB、[constants.A,Services.B]那样使用它;
angular.module("moduleThatUseConstants", ["constants"])
.service("A", [Services.A]);
.service("B", ["A", Services.B]); // ???
.service("B", ["constants.A", Services.B]);