diff --git a/ionic/components/nav/nav-base.js b/ionic/components/nav/nav-base.js index 36aa9fe1c5..75890c844e 100644 --- a/ionic/components/nav/nav-base.js +++ b/ionic/components/nav/nav-base.js @@ -15,7 +15,9 @@ const CACHED_STATE = 'cached'; export class NavBase { - constructor() { + constructor(loader, injector) { + this.loader = loader; + this.injector = injector; this.items = []; this.navCtrl = new NavController(this); } diff --git a/ionic/components/nav/nav-item.js b/ionic/components/nav/nav-item.js index 50a48339b1..7f403002c8 100644 --- a/ionic/components/nav/nav-item.js +++ b/ionic/components/nav/nav-item.js @@ -34,7 +34,7 @@ export class NavItem { bind(NavItem).toValue(this) ]); - this.nav.loader.loadNextToExistingLocation(this.Class, this.nav.contentAnchor.elementRef, injector).then((componentRef) => { + this.nav.loader.loadNextToExistingLocation(this.Class, this.nav.contentElementRef, injector).then((componentRef) => { // content this.component = componentRef; @@ -42,8 +42,10 @@ export class NavItem { this.domElement.classList.add('nav-item'); this.domElement.setAttribute('data-nav-item-id', this.id); + let context = this.nav.contentElementRef + for (let i = 0; i < this.headers.length; i++) { - this.createHeader(this.headers[i], injector); + this.createHeader(this.headers[i], context, injector); } resolve(); @@ -52,11 +54,10 @@ export class NavItem { return promise; } - createHeader(toolbarProtoView, injector) { - let vc = this.nav.headerAnchor.viewContainerRef; + createHeader(toolbarProtoView, context, injector) { + let vc = this.nav.headerContainerRef; let atIndex = -1; - let context = this.nav.headerAnchor.elementRef; let view = vc.create(toolbarProtoView, atIndex, context, injector); } diff --git a/ionic/components/nav/nav.js b/ionic/components/nav/nav.js index e9cccd1ffa..405e04e0c0 100644 --- a/ionic/components/nav/nav.js +++ b/ionic/components/nav/nav.js @@ -25,8 +25,6 @@ import {ToolbarContainer} from 'ionic/components/toolbar/toolbar'; - `, directives: [HeaderAnchor, ContentAnchor] }) @@ -34,14 +32,9 @@ export class Nav extends NavBase { constructor( loader: DynamicComponentLoader, - elementRef: ElementRef, injector: Injector ) { - super(); - this.loader = loader; - this.viewManager = loader._viewManager; - this.elementRef = elementRef; - this.injector = injector; + super(loader, injector); } } @@ -51,11 +44,8 @@ export class Nav extends NavBase { selector: 'header-anchor' }) class HeaderAnchor { - constructor(@Ancestor() nav: Nav, elementRef: ElementRef, viewContainerRef: ViewContainerRef) { - nav.headerAnchor = { - elementRef: elementRef, - viewContainerRef: viewContainerRef - }; + constructor(@Ancestor() nav: Nav, viewContainerRef: ViewContainerRef) { + nav.headerContainerRef = viewContainerRef; } } @@ -64,10 +54,7 @@ class HeaderAnchor { selector: 'content-anchor' }) class ContentAnchor { - constructor(@Ancestor() nav: Nav, elementRef: ElementRef, viewContainerRef: ViewContainerRef) { - nav.contentAnchor = { - elementRef: elementRef, - viewContainerRef: viewContainerRef - }; + constructor(@Ancestor() nav: Nav, elementRef: ElementRef) { + nav.contentElementRef = elementRef; } }