javascript - Initialize Angular Service (factory) when application start -


in angular application adding tracing functionality, should work separate plugin, if script included html angular should create service , initialize (run) it. plugin service because has mandatory dependency on $rootscope. implementation select use angular factory, (code in myservice.js):

angular.module('app').factory('mysevice', ['$rootscope', '$interval', servicefunc]);  function servicefunc($rootscope, $interval) {      return {         run: function () { ... }      } } 

and have problem how initialize it. solution enhance angular app run function (code in myservice.js):

window.app.run(['mysevice', function (srvc) {         srvc.run();     }]); 

where app defined in separate main app.js file like:

var app = window.app = angular.module('app', [...]); app.run(['$state', 'breeze', ..., function ($state,  breeze, ...) { ..real initialization..  } 

the code working fine. both main run , run myservice calls fine. application service working well, code looks ugly, storing app in global window object , multicasting run function.

is there better way angular service , initialize after app starts other angular services dependencies.

you can call angular.module('app').run(function(){...}). not need global variable anymore.

example:

angular.module('app').run(['mysevice', srvc.run.bind(srvc)]); 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -