From 35159a4daa9d4391e3218743ce1c39f8722a9e92 Mon Sep 17 00:00:00 2001 From: Tim Lancina Date: Thu, 5 Nov 2015 17:05:07 -0600 Subject: [PATCH] fix(nav-registry): NavRegistry is a singleton --- ionic/components/nav/test/basic/index.ts | 1 + ionic/config/bootstrap.ts | 7 +++++-- ionic/config/decorators.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ionic/components/nav/test/basic/index.ts b/ionic/components/nav/test/basic/index.ts index 9c2ce6f806..a6d18028bc 100644 --- a/ionic/components/nav/test/basic/index.ts +++ b/ionic/components/nav/test/basic/index.ts @@ -206,6 +206,7 @@ class AnotherPage { @App({ + pages: [FirstPage, FullPage, PrimaryHeaderPage, AnotherPage], template: `` }) class E2EApp { diff --git a/ionic/config/bootstrap.ts b/ionic/config/bootstrap.ts index 601dd07dc5..75ba635cd3 100644 --- a/ionic/config/bootstrap.ts +++ b/ionic/config/bootstrap.ts @@ -20,9 +20,12 @@ import {initTapClick} from '../components/tap-click/tap-click'; import * as dom from '../util/dom'; -export function ionicProviders(config) { +export function ionicProviders(args) { let app = new IonicApp(); let platform = new Platform(); + let navRegistry = new NavRegistry(args.pages); + + var config = args.config; if (!(config instanceof Config)) { config = new Config(config); @@ -50,6 +53,7 @@ export function ionicProviders(config) { provide(Platform, {useValue: platform}), provide(FeatureDetect, {useValue: featureDetect}), provide(Events, {useValue: events}), + provide(NavRegistry, {useValue: navRegistry}), Form, Keyboard, OverlayController, @@ -57,7 +61,6 @@ export function ionicProviders(config) { Modal, Popup, Translate, - NavRegistry, ROUTER_PROVIDERS, provide(LocationStrategy, {useClass: HashLocationStrategy}), HTTP_PROVIDERS, diff --git a/ionic/config/decorators.ts b/ionic/config/decorators.ts index a6e5e5c7ff..d49a1ba5a6 100644 --- a/ionic/config/decorators.ts +++ b/ionic/config/decorators.ts @@ -135,7 +135,7 @@ export function App(args={}) { Reflect.defineMetadata('annotations', annotations, cls); console.time('bootstrap'); - bootstrap(cls, ionicProviders(args.config)).then(() => { + bootstrap(cls, ionicProviders(args)).then(() => { console.timeEnd('bootstrap'); });