diff --git a/ionic/components/app/app.ts b/ionic/components/app/app.ts index 08aab92d04..b5693d9a84 100644 --- a/ionic/components/app/app.ts +++ b/ionic/components/app/app.ts @@ -1,4 +1,4 @@ -import {Injectable} from 'angular2/core'; +import {Injectable, Injector} from 'angular2/core'; import {Title} from 'angular2/platform/browser'; import {Config} from '../../config/config'; @@ -19,6 +19,7 @@ export class IonicApp { private _titleSrv: Title = new Title(); private _isProd: boolean = false; private _rootNav: any = null; + private _appInjector: Injector; constructor( private _config: Config, @@ -199,4 +200,19 @@ export class IonicApp { return this._cmps[id]; } + /** + * Set the global app injector that contains references to all of the instantiated providers + * @param injector + */ + setAppInjector(injector: Injector) { + this._appInjector = injector; + } + + /** + * Get an instance of the global app injector that contains references to all of the instantiated providers + * @returns {Injector} + */ + getAppInjector(): Injector { + return this._appInjector; + } } diff --git a/ionic/config/bootstrap.ts b/ionic/config/bootstrap.ts index 574bdef1c1..af42c458d6 100644 --- a/ionic/config/bootstrap.ts +++ b/ionic/config/bootstrap.ts @@ -73,6 +73,7 @@ export function postBootstrap(appRef: ComponentRef, prodMode: boolean) { platform.setZone(appRef.injector.get(NgZone)); platform.prepareReady(); app.setProd(prodMode); + app.setAppInjector(appRef.injector); }