Как и где app.run()
используется? После определения модуля, после app.config()
или после app.controller()
?
Я использую BreezeJS Angular Q , который спрашивает, можно ли запустить определенный код в app.run()
функции.
Как и где app.run()
используется? После определения модуля, после app.config()
или после app.controller()
?
Я использую BreezeJS Angular Q , который спрашивает, можно ли запустить определенный код в app.run()
функции.
Ответы:
Вот порядок звонков:
app.config()
app.run()
app.controller()
Вот простая демонстрация, где вы можете наблюдать за выполнением каждого (и экспериментировать, если хотите).
Из документов модуля Angular :
Блоки выполнения - выполняются после создания инжектора и используются для запуска приложения. Только экземпляры и константы могут быть введены в блоки выполнения. Это необходимо для предотвращения дальнейшей настройки системы во время выполнения приложения.
Блоки прогона - самая близкая вещь в Angular к основному методу. Блок выполнения - это код, который необходимо запустить, чтобы запустить приложение. Это выполняется после того, как все службы были настроены и инжектор был создан. Блоки выполнения обычно содержат код, который трудно выполнить модульным тестированием, и по этой причине его следует объявлять в изолированных модулях, чтобы их можно было игнорировать в модульных тестах.
Одна из ситуаций, когда используются блоки выполнения, - во время аутентификации .
Как и где
app.run()
используется? После определения модуля или послеapp.config()
, послеapp.controller()
?
В вашем package.js Например /packages/dashboard/public/controllers/dashboard.js
Сделайте так, чтобы это выглядело так
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'
});