初始化AngularJS服务以连接事件处理程序

时间:2014-06-08 23:44:01

标签: angularjs

我需要在应用程序引导时初始化我的Angular Service,以便它可以响应某些全局事件"。这里的subscribe方法只是连接一个需要在应用程序启动后监听的处理程序。

如何解除" init"应用程序加载时的功能?

如果我按照我的方法偏离轨道,请告诉我应该去哪个方向!

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

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

编辑: 在我的用例中添加更多信息:

我订阅的事件处理程序来自我在服务器上订阅的websocket频道。我想尽快开始听事件。到目前为止,我根本不关心DOM。

如果有一个服务的构造函数可以将此事件连接起来,那将会很酷。

1 个答案:

答案 0 :(得分:0)

我在文档中偶然发现了一些可行的(对于我的用例):

查看模块定义的运行功能:https://docs.angularjs.org/guide/module#module-loading-dependencies

  

运行块 - 在创建注入器后执行并用于启动应用程序。只有实例和常量才能注入运行块。这是为了防止在应用程序运行时进一步进行系统配置。