IONIC-2 Изменить корневую страницу ion-tab динамически в классе вкладок?

В моем проекте настроены следующие вкладки:

tabs.html

<ion-tabs  tabsPlacement="bottom" [selectedIndex]="0">
    <ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="pulse"></ion-tab>
    <ion-tab [root]="tab2Root" tabTitle="About" tabIcon="information"></ion-tab>
</ion-tabs>

На странице "Домашняя страница" (tab1Root) есть кнопка, позволяющая изменить корневую страницу на страницу "Home v2".

home.html

<ion-content class="has-header" padding>
    <div padding style="text-align: center;">
        <h1>Home v1</h1>
        <ion-button button (click)="setRootTab1ToHome2()">
            Set Root of TAB1 to Home v2
        </ion-button>
     </div>
</ion-content>

home.ts

import { NavController } from 'ionic-angular/index';
import { Home2Page } from 'home2.ts'
import { Component } from "@angular/core";

@Component({
  templateUrl:"home.html"
})
export class HomePage {
    constructor(private nav: NavController) {

    }

    setRootTab1ToHome2() {
      this.nav.setRoot(Home2Page);
    }
}

Если корневую страницу TAB1 изменить, нажав доступную кнопку, а затем я переключусь на вкладку "О программе" и вернусь обратно к вкладке "Домой", я буду видеть страницу "Дом v2" вместо "Домой". НО, если я дважды нажму на вкладку "Домой", она вернется на страницу "Домой".

Как я могу восстановить корневую страницу вкладки "Домашняя" в "Home v1" вместо "Home v2" при переходе с вкладки на вкладку? Подобно поведению двойного нажатия на вкладке "Домой", но только одним кликом.

Пожалуйста, проверьте проект в Plunker: https://plnkr.co/F5hAvypKxb9mhQDm3SDw

0 ответов

Другие вопросы по тегам