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;
}
}