2015-11-20 4 views
3

У меня есть следующее определение модуля AngularJS. Я хочу запустить некоторый код, как только этот модуль будет обработан.Как вызвать функцию после завершения обработки ngApp?

var app = angular.module("Enlightks_Dashboard", ["RoomAvailabilityWidget", "TwitterNewsWidget", "BirthdayWidget", "TelephoneDataWidget", "AnnouncementWidget"]); 

app.run(['$rootScope', function ($rootScope) { 
     $.connection.hub.start().done(function(){}); 
    }]); 

За предложение, я попытался с помощью run блок, но обратного вызова не вызывается, как и ожидалось. Что я делаю не так?

+0

Что вы пытаетесь достичь в конце концов? – baklazan

+0

Это метод 'run', что вы ищете? (https://code.angularjs.org/1.4.7/docs/api/ng/type/angular.Module#run)[run] – slamborne

+0

Где именно происходит обратный вызов? 'run' не является событием DOMContentLoaded. Что такое '$ .connection.hub.start();'? Я не хочу сеять семена здесь, поэтому я неохотно добавляю, что вы должны обернуть '$ .connection.hub.start(); в событии готовности DOM, и это может сделать то, что вы пытаетесь сделать. – slamborne

ответ

1

вы можете сделать это в блоке run. Обратите внимание на следующее ...

var app = angular.module("Enlightks_Dashboard", ["RoomAvailabilityWidget", "TwitterNewsWidget", "BirthdayWidget", "TelephoneDataWidget", "AnnouncementWidget"]); 

app.run(function() { 
    console.log('boom'); // all dependent modules injected and ready 
}); 

обязательно проверить module docs для получения дополнительной информации

Run блоки ближе всего в Угловом к основной методе. Запуск блок - это код, который необходимо запустить для запуска приложения. Это выполняется после того, как все службы настроены, и был создан инжектор . Блоки запуска обычно содержат код, который является , жестким для модульного тестирования, и по этой причине должны быть объявлены в изолированных модулях , чтобы их можно было игнорировать в модульных тестах.

JSFiddle Link - простая демонстрационная с инъекцией в соответствии с вашими комментариями

+0

Я попытался использовать функцию запуска, но функция обратного вызова не была вызвана обновленным кодом выше –

+0

@AbdulRahamanAbdullah, вы, кажется, заявляете, что это неправильно, почему вы передаете '' '' в качестве первого аргумента? Если вы пытаетесь определить это с минимальным безопасным способом, сделайте это правильно с массивом '[]' синтаксис – scniro

+0

'run' не указан – scniro

Смежные вопросы