diff --git a/src/components/content/content.ts b/src/components/content/content.ts index 00eee2aef6..4fe7b09ea0 100644 --- a/src/components/content/content.ts +++ b/src/components/content/content.ts @@ -5,8 +5,10 @@ import { Config } from '../../config/config'; import { DomController } from '../../platform/dom-controller'; import { Img } from '../img/img'; import { Ion } from '../ion'; +import { isTabs } from '../../navigation/nav-util'; import { isTrueProperty, assert, removeArrayItem } from '../../util/util'; import { Keyboard } from '../../platform/keyboard'; +import { NavController } from '../../navigation/nav-controller'; import { Platform } from '../../platform/platform'; import { ScrollView, ScrollEvent } from '../../util/scroll-view'; import { Tabs } from '../tabs/tabs'; @@ -143,6 +145,8 @@ export class Content extends Ion implements OnDestroy, OnInit { /** @internal */ _ftrHeight: number; /** @internal */ + _tabs: Tabs; + /** @internal */ _tabbarHeight: number; /** @internal */ _tabsPlacement: string; @@ -327,7 +331,7 @@ export class Content extends Ion implements OnDestroy, OnInit { public _keyboard: Keyboard, public _zone: NgZone, @Optional() viewCtrl: ViewController, - @Optional() public _tabs: Tabs + @Optional() navCtrl: NavController ) { super(config, elementRef, renderer, 'content'); @@ -337,6 +341,14 @@ export class Content extends Ion implements OnDestroy, OnInit { this._imgVelMax = config.getNumber('imgVelocityMax', 3); this._scroll = new ScrollView(_plt, _dom); + while (navCtrl) { + if (isTabs(navCtrl)) { + this._tabs = navCtrl; + break; + } + navCtrl = navCtrl.parent; + } + if (viewCtrl) { // content has a view controller viewCtrl._setIONContent(this);