escape agregar angularjs angularjs-service angularjs-module

agregar - ¿Cómo usar dos servicios AngularJS con el mismo nombre de diferentes módulos?



ng-href angular 5 (1)

Supongo que tengo dos módulos para AngularJS, por ejemplo, foo y bar , y ambos definen un servicio llamado baz .

En mi aplicación dependo de ellos diciendo:

var app = angular.module(''app'', [ ''foo'', ''bar'' ]);

Entonces puedo intentar usar el servicio baz en un controlador usando

app.controller(''blaController'', [ ''$scope'', ''baz'', function($scope, baz) { // ... }]);

¿Cómo puedo definir cuál de los dos servicios me gustaría usar? ¿Hay algo como un nombre completo?


El localizador de servicios busca los servicios por nombre ( guía angularjs DI ). Sin embargo, los servicios de "espacio de nombres" en AngularJS :

A partir de hoy, AngularJS no maneja las colisiones de espacio de nombres para los servicios, por lo tanto, si tiene 2 módulos diferentes con el servicio con el mismo nombre e incluye ambos módulos en su aplicación, solo habrá un servicio disponible.

Supongo que puede hacer el nombre completo "a mano": nombre el servicio foo.baz y bar.baz lugar de simple baz . Es una especie de autoengaño. Además, escribirlo de esta manera no hace que el espacio de nombres sea real, pero otra persona que lea el código podría pensar que sí.