我有以下AngularJS模块定义。我希望在完成此模块处理后运行一些代码。
var app = angular.module("Enlightks_Dashboard", ["RoomAvailabilityWidget", "TwitterNewsWidget", "BirthdayWidget", "TelephoneDataWidget", "AnnouncementWidget"]);
app.run(['$rootScope', function ($rootScope) {
$.connection.hub.start().done(function(){});
}]);
根据建议,我尝试使用run
块,但未按预期调用回调。我做错了什么?
答案 0 :(得分: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以获取更多信息
运行块是Angular中与main方法最接近的东西。跑步 block是需要运行以启动应用程序的代码。它 在配置完所有服务后执行 注射器已创建。运行块通常包含代码 很难进行单元测试,因此应该单独声明 模块,以便在单元测试中可以忽略它们。
JSFiddle Link - 根据您的评论注入简单演示