Ionic2 离子2:导航-推送后缺少选项卡栏

Ionic2 离子2:导航-推送后缺少选项卡栏,ionic2,Ionic2,我有一个底部的标签栏,它有4个标签(主页,关于,联系,更多),下面是标签页的代码 Html: 以及我的“页面更多”组件html: <ion-footer> <ion-toolbar position="bottom"> <ion-segment> <ion-segment-button title="Gallery" value="all" (click)="gallery()">

我有一个底部的标签栏,它有4个标签(主页,关于,联系,更多),下面是标签页的代码

Html:

以及我的“页面更多”组件html:

    <ion-footer>
    <ion-toolbar position="bottom">      
        <ion-segment>
            <ion-segment-button title="Gallery" value="all" (click)="gallery()">
                <ion-icon name="images"></ion-icon>
            </ion-segment-button>
        </ion-segment>    
    </ion-toolbar>
</ion-footer>
导出类MorePage{ 构造函数(公共navCtrl:NavController){}

}

当我单击选项卡栏上的“更多”时,更多页面将显示在当前选项卡栏的顶部。单击“图库”上的“事件”后,它将重定向到图库页面。到目前为止一切正常,但图库页面中缺少我的选项卡栏

GalleryPage Html:

   <ion-header>
    <ion-navbar>      
        <ion-title>Gallery</ion-title>
    </ion-navbar>
</ion-header>


<ion-content padding>

    <div *ngIf="!showImages">
        <ion-list *ngFor="let g of galleryData">
            <ion-card>
                <img src="assets/{{g.eventThumbImage}}" alt="your image" (click)="getEventImages(g.imageeventId)">
                <ion-card-content>
                    <ion-card-title>
                        <a (click)="getEventImages(g.imageeventId)">{{g.photoEventName}}</a>
                    </ion-card-title>
                </ion-card-content>
            </ion-card>
        </ion-list>
    </div>

</ion-content>

画廊
{{g.photoEventName}
厨房第页:

@Component({

selector:'gallery-page',

templateUrl: 'gallery.html'

})



export class GalleryPage
 {


 galleryData;

 showImages: boolean;

 eventImagesData: Array<any> = [];

 results: any[];


    constructor(public navCtrl: NavController, private apiService: ApiService) {
    }



       ionViewWillEnter() {

           this.getImages();

       }



       getImages() {

        this.showImages = false;
        this.apiService.getData('GalleryController/CallForImageEvents')
            .subscribe(galleryData => this.galleryData = galleryData);
       }


}
@组件({
选择器:'gallery-page',
templateUrl:'gallery.html'
})
导出类GalleryPage
{
厨房数据;
显示图像:布尔;
eventImagesData:Array=[];
结果:任何[];
构造函数(公共navCtrl:NavController,私有apiService:apiService){
}
ionViewWillEnter(){
这是getImages();
}
getImages(){
this.showImages=false;
this.apiService.getData('GalleryController/CallForImageEvents'))
.subscribe(galleryData=>this.galleryData=galleryData);
}
}

所以,请告诉我哪里出了问题……

让我们解释一下问题

您有一个选项卡页面,它有一个容器来显示选定的选项卡。 您的组件位于选项卡视图中,并且具有自己的导航

此函数存在于选项卡页中:

gallery() {
    this.navCtrl.push(GalleryPage);
}
它所指的navCtrl是TabsPage。因此,如果你推到这里,它将不会推到视图中,而是远离选项卡


只需创建更多页面组件并将gallery功能移动到那里

让我们解释一下问题

您有一个选项卡页面,它有一个容器来显示选定的选项卡。 您的组件位于选项卡视图中,并且具有自己的导航

此函数存在于选项卡页中:

gallery() {
    this.navCtrl.push(GalleryPage);
}
它所指的navCtrl是TabsPage。因此,如果你推到这里,它将不会推到视图中,而是远离选项卡


你所要做的只是创建一个更多的页面组件,并将你的图库功能移动到那里

你能发布
图库
页面结构吗?你是否将
选项卡deonsubpages
设置为false?我试着不处理可能重复的
图库
页面结构?你是否将
tabsHideOnSubPages
为false?我尝试不处理可能重复的,我以前使用过这种方法,但这种方法有一个问题。即,当我在主页中单击“更多”时,它转到“更多”组件并显示更多html隐藏主页,但它应该显示在主页或任何其他活动页面上。我以前使用过这种方法,但这种方法存在一个问题。即,当我在主页中单击“更多”时,它会转到“更多”组件并显示更多隐藏主页的html,但它应该显示在主页或任何其他活动页面上。
ionViewWillEnter() {

}

gallery() {

    this.navCtrl.push(GalleryPage);
}
   <ion-header>
    <ion-navbar>      
        <ion-title>Gallery</ion-title>
    </ion-navbar>
</ion-header>


<ion-content padding>

    <div *ngIf="!showImages">
        <ion-list *ngFor="let g of galleryData">
            <ion-card>
                <img src="assets/{{g.eventThumbImage}}" alt="your image" (click)="getEventImages(g.imageeventId)">
                <ion-card-content>
                    <ion-card-title>
                        <a (click)="getEventImages(g.imageeventId)">{{g.photoEventName}}</a>
                    </ion-card-title>
                </ion-card-content>
            </ion-card>
        </ion-list>
    </div>

</ion-content>
@Component({

selector:'gallery-page',

templateUrl: 'gallery.html'

})



export class GalleryPage
 {


 galleryData;

 showImages: boolean;

 eventImagesData: Array<any> = [];

 results: any[];


    constructor(public navCtrl: NavController, private apiService: ApiService) {
    }



       ionViewWillEnter() {

           this.getImages();

       }



       getImages() {

        this.showImages = false;
        this.apiService.getData('GalleryController/CallForImageEvents')
            .subscribe(galleryData => this.galleryData = galleryData);
       }


}
gallery() {
    this.navCtrl.push(GalleryPage);
}