Angular 2 - Lifecycle hooks for lazy loaded modules Angular 2 - Lifecycle hooks for lazy loaded modules angular angular

Angular 2 - Lifecycle hooks for lazy loaded modules


The constructor of the lazy loaded module should do that

@NgModule({...})export class MyLazyModule {  constructor(/* service injection here if required */) {    console.log('lazy module loaded');  }}


There are two router events that you can use: RouteConfigLoadStart and RouteConfigLoadEnd. Also you can use LoadChildrenCallback. These might not do exactly what you want, but still can be helpful.

Also you can use the following trick:

@NgModule({    imports        : [BrowserModule, FormsModule, RouterModule, ROUTING],    providers      : [        {provide: CustomService, useClass: CustomService},        ...    ]})export class AppModule implements OnInit{    //force CustomService service creation or inject other app service,    // so use can use it to fire event or do smth.    constructor(handler:CustomService)    {        console.log('handler', handler);        handler.fire('module created');    }}