离子 2 侧边菜单在按数次后不起作用



嗨,当我浏览页面数时,我遇到了一个问题 ionic 2 侧菜单不起作用,有些页面被设置为根,有些页面被推送到堆栈上。

这是我正在经历的页面流程。

导航堆栈:

RootPage -> navCtrl.push(Page1) -> navCtrl.setRoot(Page2) -> this.navCtrl.push(Page3) ->
this.navCtrl.push(Page4) -> this.navCtrl.push(Page5) -> this.navCtrl.setRoot(Page6) ->
this.navCtrl.setRoot( Page7)

法典:

<ion-menu  class="sproglets_menu"  [content]="content" persistent="true" >

<!-- (ionOpen)="menuOpened()" (ionClose)="menuClosed()"
-->
<ion-content>
<ion-item no-lines color="transparnt">
<ion-avatar item-start>
<img src="assets/images/addimage.png">
</ion-avatar>
<h2>Umer</h2>
<p>Sproglets</p>
</ion-item>

<ion-list class="rr-menu" no-lines>
<button class="search_button" ion-button block item-left round outline color="light" icon-only (click)="Place_order()">
<ion-icon name='search'></ion-icon>
Search Jobs
</button>
<button ion-item color="transparnt" (click)="Profile()"  detail-none>
Profile
</button>
<button ion-item color="transparnt" (click)="Notifications()"  detail-none>
Notifications
<span ion-button clear item-end color="login_btn_color">28</span>
</button>
<button ion-item color="transparnt"   detail-none>
Timesheets
<span ion-button clear item-end color="login_btn_color">28</span>
</button>
<button ion-item color="transparnt" (click)="Payment()"  detail-none>
Payments
<span ion-button clear item-end color="login_btn_color">28</span>
</button>
<button ion-item color="transparnt" (click)="Setting()"  detail-none>
Settings
</button>
<button ion-item color="transparnt" (click)="Logout()"  detail-none>
Logout
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

离子信息:

  • 科尔多瓦 CLI:6.5.0
  • 离子框架版本:3.4.2
  • 离子 CLI 版本:2.2.1
  • 离子应用程序库版本:2.2.0
  • 离子应用程序脚本版本:1.3.7
  • iOS 部署版本:未安装
  • iOS-sim 版本:未安装
  • 操作系统: 视窗 8.1
  • 节点版本:v4.5.0
  • Xcode 版本:未安装

如果我将 Page7 设置为根,侧菜单可以正常工作。

请指导我做错了什么。谢谢!

基本上由于模态,我遇到了问题。我打开模态并导航到模态页面中的下一页,而不是关闭模态然后导航到下一页。 以下是解决此问题的正确流程。

1-从这样的页面打开模态

presentContactModal() {
let contactModal = this.modalCtrl.create(ContactUs);
contactModal.present();
}

2-使用打开的模式的视图控制器关闭模态

constructor(public viewCtrl: ViewController) {
}
dismiss() {
let data = { 'foo': 'bar' };
this.viewCtrl.dismiss(data);
}

3-从第一页导航到下一页,现在它永远不会产生任何菜单打开问题。

this.navCtrl.push(YourPage);

为菜单添加 id:

<ion-menu id="mymenu"  class="sproglets_menu"  [content]="content" persistent="true" >

在第 2、6、第 7 页(设置为根页面的页面(中,启用您的菜单

constructor(public menuCtrl: MenuController){}
ionViewDidLoad() {
this.menuCtrl.enable(true, "mymenu"); 
}

如果您仍然面临此问题,我想我已经在这个周年中找到了主要问题。当您从"模态"或"弹出框"推送时,就会出现问题,因此会发生导航问题。要以正确的方式执行此操作,请"从调用弹出框或模式的页面"执行推送setRoot。这可以通过"onDidDismiss"功能轻松完成:

//Page which calls popover:
popover.create();
//Page popover: Dismiss existing popover (you may also pass a parameter)
popover.dismiss(myParameter);
//Page which calls popover: Veriry if popover was removed
popover.onDidDismiss(data => {
if(data == "something")
{
//Navigate to new page
this.nav.push(newPage)
}
});

也许在您的情况下,其中一个页面是模态或弹出框。所以,试试这种方式,看看会发生什么。

希望对您有所帮助!

相关内容

  • 没有找到相关文章

最新更新