Comment et où est-il app.run()
utilisé? Après la définition du module, après app.config()
ou après app.controller()
?
J'adopte le BreezeJS Angular Q , qui demande si certains codes peuvent être exécutés dans la app.run()
fonction.
Comment et où est-il app.run()
utilisé? Après la définition du module, après app.config()
ou après app.controller()
?
J'adopte le BreezeJS Angular Q , qui demande si certains codes peuvent être exécutés dans la app.run()
fonction.
Réponses:
Voici l'ordre d'appel:
app.config()
app.run()
app.controller()
Voici une démonstration simple où vous pouvez regarder chacun s'exécuter (et expérimenter si vous le souhaitez).
À partir des documents du module Angular :
Exécuter les blocs - exécutez -vous après la création de l'injecteur et utilisez-le pour démarrer l'application. Seules les instances et les constantes peuvent être injectées dans des blocs d'exécution. Cela permet d'empêcher une configuration supplémentaire du système pendant l'exécution de l'application.
Les blocs d'exécution sont la chose la plus proche dans Angular de la méthode principale. Un bloc d'exécution est le code qui doit être exécuté pour démarrer l'application. Il est exécuté une fois que tous les services ont été configurés et que l'injecteur a été créé. Les blocs d'exécution contiennent généralement du code difficile à tester, et pour cette raison, ils doivent être déclarés dans des modules isolés, afin qu'ils puissent être ignorés dans les tests unitaires.
Une situation où des blocs d'exécution sont utilisés est lors des authentifications .
Comment et où est-il
app.run()
utilisé? Après la définition du module ou aprèsapp.config()
, aprèsapp.controller()
?
Dans votre package.js Eg /packages/dashboard/public/controllers/dashboard.js
Faites comme ça
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'
});