ionic3根页面设置问题、menu侧滑按钮不显示和显示按钮不显示遮罩层的问题

343 阅读2分钟
原文链接: blog.csdn.net

一:根页面设置

原来APP开始启动时,我将登录页设置为rootPage,登录成功后我跳转到home界面的方法如下:

  1. this.modalCtrl.create(TabsPage);  
  2. modal.present();  
this.modalCtrl.create(TabsPage);
modal.present();
这种方式并没有将App的根页面转换为TabsPage,以至于后期我想加入一个侧滑菜单时,需要重新设置TabsPage为根页面,否则menuToggle按钮不会显示,解决方案如下:
  1. this.navCtrl.setRoot(TabsPage);  
 this.navCtrl.setRoot(TabsPage);

即在登录成功跳转时采用这种方式即可。

二:不显示遮罩层

这个问题是因为我把menu菜单和home界面写到了一个html里,按说这种方式应该也可以的,但是出现了这个奇怪的问题。

解决方案如下:将menu菜单页放入app.html           这也是ionic3官网上的使用方式

[plain]
  1. //app.html  
  2.   
  3. <ion-nav [root]="rootPage" #mycontent></ion-nav>  
  4. <ion-menu [content]="mycontent" type="overlay" side="left">  
  5.   <ion-header>  
  6.     <ion-toolbar>  
  7.       <ion-title>Menu</ion-title>  
  8.     </ion-toolbar>  
  9.   </ion-header>  
  10.   <ion-content>  
  11.     <ion-list>  
  12.       <button ion-item *ngFor="let p of pages" (click)="openPage(p)" detail-none>  
  13.         {{p.title}}  
  14.       </button>  
  15.     </ion-list>  
  16.   </ion-content>  
  17. </ion-menu>  
//app.html

<ion-nav [root]="rootPage" #mycontent></ion-nav>
<ion-menu [content]="mycontent" type="overlay" side="left">
  <ion-header>
    <ion-toolbar>
      <ion-title>Menu</ion-title>
    </ion-toolbar>
  </ion-header>
  <ion-content>
    <ion-list>
      <button ion-item *ngFor="let p of pages" (click)="openPage(p)" detail-none>
        {{p.title}}
      </button>
    </ion-list>
  </ion-content>
</ion-menu>