¿Cómo y dónde se app.run()
usa? Después de la definición del módulo, ¿después app.config()
o después app.controller()
?
Estoy adoptando el BreezeJS Angular Q , que pregunta si se puede ejecutar cierto código en la app.run()
función.
¿Cómo y dónde se app.run()
usa? Después de la definición del módulo, ¿después app.config()
o después app.controller()
?
Estoy adoptando el BreezeJS Angular Q , que pregunta si se puede ejecutar cierto código en la app.run()
función.
Respuestas:
Aquí está el orden de llamada:
app.config()
app.run()
app.controller()
Aquí hay una demostración simple en la que puede ver cada uno ejecutándose (y experimentar si lo desea).
De los documentos del módulo de Angular :
Ejecutar bloques : se ejecutan después de crear el inyector y se utilizan para iniciar la aplicación. Solo se pueden inyectar instancias y constantes en bloques de ejecución. Esto es para evitar una mayor configuración del sistema durante el tiempo de ejecución de la aplicación.
Los bloques de ejecución son lo más parecido en Angular al método principal. Un bloque de ejecución es el código que debe ejecutarse para iniciar la aplicación. Se ejecuta después de que se hayan configurado todos los servicios y se haya creado el inyector. Los bloques de ejecución generalmente contienen código que es difícil de probar por unidad, y por esta razón debe declararse en módulos aislados, de modo que puedan ignorarse en las pruebas unitarias.
Una situación en la que se utilizan bloques de ejecución es durante las autenticaciones .
¿Cómo y dónde se
app.run()
usa? ¿Después de la definición del módulo o despuésapp.config()
, despuésapp.controller()
?
En su package.js Eg /packages/dashboard/public/controllers/dashboard.js
Haz que se vea así
var app = angular.module('mean.dashboard', ['ui.bootstrap']);
app.controller('DashboardController', ['$scope', 'Global', 'Dashboard',
function($scope, Global, Dashboard) {
$scope.global = Global;
$scope.package = {
name: 'dashboard'
};
// ...
}
]);
app.run(function(editableOptions) {
editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});