ejemplos - angularjs pdf
Servicios de "Espaciado de nombres" en AngularJS (2)
¿Cómo maneja AngularJS las colisiones entre los nombres de los servicios? Por ejemplo, si he declarado dos módulos que contienen cada uno un servicio llamado ''foo''. ¿Cuál sería una buena manera de "crear espacios de nombres" si quiero crear un módulo reutilizable o si quiero evitar colisiones con otros módulos de terceros?
Como lo notaron los pkozlowski, no lo hacen. Puedes agregar manualmente un prefijo a todos tus servicios (lo que es un poco molesto), alternativamente, escribí un truco para que tu espacio de nombres sea tuyo. https://github.com/callmehiphop/angular-namespacer
A día de hoy, AngularJS no maneja las colisiones del espacio de nombres para los servicios, así que si tiene 2 módulos diferentes con el servicio nombrado de la misma manera e incluye ambos módulos en su aplicación, solo habrá un servicio disponible.
Por el momento, la mejor opción es prefijar los nombres de los servicios con un prefijo personalizado, por ejemplo:
angular.module(''myprefix_mymodule'',[''dep1'', ''dep2'']).factory(''myprefix_MyService'', ...)