使用 this.navCtrl.push(NamePage);
后我的标签消失了
我不明白,我需要使用 @ViewChild
还是其他函数?
我在 app.module.ts 中的 tabsHideOnSubPages
上设置了 false
示例:https://github.com/Nicolas-PL/TestMenu
文件是:src/pages/tabs/tabs.ts
和 src/pages/test/test.ts
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AboutPage } from '../about/about';
import { ContactPage } from '../contact/contact';
import { HomePage } from '../home/home';
import { TestPage } from '../test/test';
import { ModalController } from 'ionic-angular';
@Component({
templateUrl: 'tabs.html'
})
export class TabsPage {
tab1Root = HomePage;
tab2Root = AboutPage;
tab3Root = TestPage;
constructor(public navCtrl: NavController,public modalCtrl: ModalController) {
}
openModal() {
let myModal = this.modalCtrl.create(TestPage);
myModal.present();
}
}
<ion-tabs>
<ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab>
<ion-tab [root]="tab2Root" tabTitle="About" tabIcon="information-circle"></ion-tab>
<ion-tab (ionSelect)="openModal()" tabTitle="Contact" tabIcon="contacts"></ion-tab>
</ion-tabs>
Test.ts(标签消失)
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { HomePage } from '../home/home';
import { App, ViewController } from 'ionic-angular';
@IonicPage()
@Component({
selector: 'page-test',
templateUrl: 'test.html',
})
export class TestPage {
constructor(public viewCtrl: ViewController, public navCtrl: NavController, public navParams: NavParams) {}
ionViewDidLoad() {}
openMenu() {
this.navCtrl.push(HomePage);
}
}
我尝试过
this.navCtrl.root(HomePage);
但不起作用..先感谢您 !
最佳答案
如果您需要从 overlay
组件( popover
、 modal
、 alert
等)导航,那么您必须像下面那样操作。
测试文件
export class TestPage {
constructor(
public viewCtrl: ViewController
public appCtrl: App
) {}
openMenu() {
this.viewCtrl.dismiss();
this.appCtrl.getRootNav().setRoot(HomePage);
}
}
您可以阅读有关 it here 的更多信息(参见标题
Navigating from an Overlay Component
)。关于angular - 推后标签消失 ionic 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45784051/