stateprovider routeprovider mvc example ejemplo app angularjs angularjs-scope angularjs-routing

angularjs - routeprovider - .config,.run, AppCtrl-¿dónde colocar rutas?



ngroute angularjs (2)

El bloque .config se ejecuta durante la fase de registro y configuración del proveedor. Es un bloque de nivel de módulo.

El bloque .run se ejecuta después del bloque de configuración. Se utiliza para inyectar servicios y constantes.

Quería descubrir la diferencia entre las funciones .config y .run en AngularJS. Estaba usando mi .config para configurar rutas, pero tenía algunos $on ''s para ver los eventos de inicio y éxito del cambio de ruta.

Luego moví parte de este código a .run porque tenía algunos problemas de inyección de dependencias en .config .

Finalmente moví algo de esto a un CommonAppController que he puesto en mi <body> .

También tuve 2 .config ''s y parecía estar funcionando bien, pero seguramente esto no es correcto?

¿Alguien puede dar una pequeña idea de qué método usar?


Los bloques de configuración y los bloques de ejecución se ejecutan en diferentes puntos de la aplicación bootstrap y tienen diferentes locales de inyección a su disposición. Aquí hay un resumen de lo que puede encontrar en la documentación de AngularJS .

Los bloques de configuración (registrados con module.config() ) se ejecutan durante el registro del proveedor, y solo se pueden inyectar proveedores y constantes (ver module.provider() y module.constant() ). Por lo general, aquí es donde se configuran los elementos de toda la aplicación, como el $routeProvider . Cosas que deben configurarse antes de crear los servicios.

Los bloques de ejecución (registrados con module.run() ) se ejecutan después de que el inyector tenga todos los proveedores. Ahora, todas las instancias y constantes pueden ser inyectadas. Por lo general, aquí es donde se configuran los servicios, $rootScope , eventos, etc.

Puede tener varios de ellos y se ejecutan en el orden en que se registraron en el módulo. Algunas personas prefieren registrar un bloque de configuración antes de cada grupo de controladores para registrar las rutas a estos controladores, por ejemplo.