Como e onde é app.run()
usado? Após a definição do módulo, depois app.config()
ou depois app.controller()
?
Estou adotando o BreezeJS Angular Q , que pergunta se determinado código pode ser executado na app.run()
função.
Como e onde é app.run()
usado? Após a definição do módulo, depois app.config()
ou depois app.controller()
?
Estou adotando o BreezeJS Angular Q , que pergunta se determinado código pode ser executado na app.run()
função.
Respostas:
Aqui está a ordem de chamada:
app.config()
app.run()
app.controller()
Aqui está uma demonstração simples, onde você pode assistir a execução de cada um (e experimentar, se desejar).
Dos documentos do módulo Angular :
Executar blocos - é executado depois que o injetor é criado e é usado para iniciar o aplicativo. Somente instâncias e constantes podem ser injetadas em blocos de execução. Isso evita a configuração adicional do sistema durante o tempo de execução do aplicativo.
Os blocos de execução são a coisa mais próxima em Angular ao método principal. Um bloco de execução é o código que precisa ser executado para iniciar o aplicativo. É executado após todos os serviços terem sido configurados e o injetor ter sido criado. Os blocos de execução geralmente contêm código que é difícil de testar por unidade e, por esse motivo, deve ser declarado em módulos isolados, para que possam ser ignorados nos testes de unidade.
Uma situação em que os blocos de execução são usados é durante as autenticações .
Como e onde é
app.run()
usado? Após a definição do módulo ou depoisapp.config()
, depoisapp.controller()
?
No seu package.js Por exemplo /packages/dashboard/public/controllers/dashboard.js
Faça com que fique assim
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'
});