Ionic2 - вкладки исчезают, когда я нажимаю новая страница/компонента navCtrl

согласно моему пониманию ионных документов и вопросов, таких как: как сохранить вкладки при нажатии на новую страницу?

Я правильно сделал то, что необходимо, чтобы предотвратить скрытие панели вкладок. Чтобы быть ясным, панель вкладок правильно отображается при запуске навигации на любой странице вкладок и переходе на любую другую страницу вкладок в стеке. Всякий раз, когда вы используете метод "push" от навигационного контроллера или модального контроллера и т. д. панель вкладок исчезает. Куда я иду? не так?

в приведенном ниже коде человек попадает на пошаговое руководство при первой загрузке приложения. Существует кнопка, которая затем переносит их в каталог, где также должна быть панель вкладок.

в случае, когда пользователь уже видел пошаговое руководство, корневая страница устанавливается на домашнюю страницу, где существует панель вкладок. Если пользователь переходит на страницу каталога с домашней страницы с помощью панели вкладок, панель вкладок остается на месте, правильно внизу страница.

из моего понимания добавление tabsHideOnSubPages: false в приложение.модуль.ts предотвратит это поведение, но это так не.

app.модуль.ts ...

imports: [
    IonicModule.forRoot(MyApp, {
       tabsHideOnSubPages:false
    })
]

...

app.деталь.ts ...

import { Tabs } from '../pages/tabs/tabs';
import { Walkthrough } from '../pages/walkthrough/walkthrough';
@Component({
  templateUrl: 'app.html'
})

export class MyApp {
  rootPage: any = Tabs;
  launchObject:any;
   constructor(private platform: Platform){
     platform.ready().then(() => {
       if(justDownloadedApp){
         this.rootPage = Walkthrough;
       }
     })
   }
 }

...

app.деталь.HTML-код

<ion-nav [root]="rootPage"></ion-nav>

вкладки.ТС

import { Component } from '@angular/core';
import { Home } from '../home/home';
import { Directory } from '../directory/directory';

@Component({
  templateUrl: 'tabs.html'
})
export class Tabs {
  tab1Root: any = Home;
  tab2Root: any = Directory;
  constructor(){}
}

вкладки.HTML-код

<ion-tabs>
   <ion-tab [root]="tab1Root" tabsHideOnSubPages="false" tabTitle="Spotlight" tabIcon="flash"></ion-tab>
  <ion-tab [root]="tab2Root" tabsHideOnSubPages="false" tabTitle="Stores" tabIcon="cart"></ion-tab>
</ion-tabs>

прохождение.ТС

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Directory } from '../directory/directory';

@Component({
  selector: 'walkthrough',
  templateUrl: 'walkthrough.html'
})
export class Walkthrough {
  constructor(public navCtrl: NavController){}

  toDirectory(): any{
    this.navCtrl.push(Directory);
  }
}

прохождение.HTML-код

<ion-header class="opaque"></ion-header>
<ion-content class="walkthroughBackground">
   <ion-col>
       <ion-row>
          <button class="clear-button-two" (click)="toDirectory()">Directory</button>
       </ion-row>
   <ion-col>
</ion-content>

1 ответов


это ожидаемое поведение. tabsHideOnSubPages:false Это поведение по умолчанию. Это не проблема. Когда ты this.navCtrl.push(Directory); Он приходит поверх