2014-06-08 42 views
0

我需要在启动应用程序时初始化我的Angular服务,以便它可以响应“某些全局事件”。这里的订阅方法只是在应用程序启动后连接一个需要监听的处理程序。初始化AngularJS服务来连接事件处理程序

如何在应用程序加载时关闭“init”函数?

如果我的方法偏离轨道,请让我知道我应该去哪个方向!

app.service('serviceName', ['someOtherService', function(someOtherService) { 
    this.init = function() { 
     subscribe("someEvent", this.someEventHandler); 
    }; 

    this.someEventHandler = function(data) { 
     //do stuff 
    }; 
}]); 

编辑: 添加对我的使用情况的详细信息:

,我订阅的事件处理程序是从我订阅服务器上的WebSocket通道。我想尽快开始收听活动。在这一点上我完全不关心DOM。

什么是酷的,如果有对,我可以在连线了本次活动的服务构造

+0

如果我没有使用Angular,我可能会创建一个直接调用的函数表达式的揭示模块。这种方式,当浏览器加载文件时,对象可用,并且我可以执行任何初始化逻辑。所以,“应用程序加载”可能是当文件通过角度/浏览器加载时。 –

回答

0

我无意中发现的文档的东西就可以了(我的用例):

退房运行功能关闭模块定义的:https://docs.angularjs.org/guide/module#module-loading-dependencies

运行块 - 用于kickstart的应用程序创建的喷油器后得到执行和。只有实例和常量可以注入运行块。这是为了防止在应用程序运行时进一步进行系统配置。