以角度在控制器中注入工厂

我正尝试在Angular的控制器中注入一个工厂,但我做不到。 这是我的代码。

app.controller('ManejadorEventosVista',['AdministradorMarcador',ManejadorEventosVista]);

'app'是对应于具有各自相关性的模块的变量。 控制器是'ManejadorEventosVista',并且需要工厂'AdministradorMarcador'提供的服务。

函数ManejadorEventosVista(){}

但是当我想在这部分代码中使用工厂'AdministradorMarcador'时,工厂无法识别。

ManejadorEventosVista.prototype.seleccionarMarcadorOrigen = function(){AdministradorMarcador.setTipoMarcador(AdministradorMarcador.MARCADOR_ORIGEN); };

我如何才能在ManejadorEventosVista.prototype.seleccionarMarcadorOrigen使用工厂'AdministradorMarcador'?

帮助或示例指导我?? ..谢谢..


ManejadorEventosVista需要引用一个参数,并且您将能够将函数内的AdministradorMarcador作为第一个变量的名称引用。 像这样

function ManejadorEventosVista(AdministradorMarcador){/**your code here**/}

你正在用线段['AdministradorMarcador', ManejadorEventosVista]是声明你的函数依赖于AdministradorMarcador ,但是没有提供ManejadorEventosVista的参数,AngularJS不知道你打算如何在你的控制器中引用AdministradorMarcador

这样做是为了允许AngularJS脚本被缩小,特别是通过现有的解决方案,因为它们会将您的函数的变量更改为单个字母的名称,从而使AngularJS无法确定要注入哪个服务或工厂。 注释使用字符串和基于位置的顺序来允许您的脚本工作,即使在缩小之后也是如此,因为字符串不会被流程改变。

另请参阅注释上的最新稳定文档

链接地址: http://www.djcxy.com/p/13639.html

上一篇: Inject a factory in a controller in angular

下一篇: Angularjs: Services and ui.router