Does the same things you would normally do with
angular.module('...') but in a leisurely manner.
This tiny zero-overhead Angular patch provides a set of
lazy.… methods for each Angular module that reflects module's own methods but can be used after the modules have been bootstrapped.
E.g. a new directive
angular.module('...').lazy.directive(...) can be defined within existing app components and compiled then.
The exceptions are
run which cannot be used to define new config/run blocks when the respective phases are over.
npm install --save ng-lazy-module
bower install --save ng-lazy-module
ng-lazy-module.js is loaded after
angular.js and before Angular modules.
Let the example speak for itself.
angular;var app = angular;app;appvalue'appService'value: '%s gets the worm';app;
lazy.run won't be available before
run phase and the rest of lazy methods won't be available before
The things can become too messy and complicated when there are several lazy modules that depend on each other. Although solid promise chains may minimize the possibility of having missing dependencies and maintain app design in a good shape.
lazy.config can be used to get to service providers even when
config phase is over. Existing service instances may or may not be affected with changes made to corresponding providers. And modified provider
$get property takes effect only if the service hasn't been instantiated yet.
lazy.decorator was introduced as well, but its usage could be justified rarely. It won't have an effect on the services which were injected into advance module components and thus, instantiated (as the example shows).
lazy.… methods return another
lazy object, not
module. The proper chaining syntax for lazy components is