setRoot后,离子3菜单不显示

时间:2018-03-21 06:57:36

标签: angular ionic3 ion-menu ion-nav

在我的用例中,我想显示侧面菜单以及我的离子3角度应用程序中的标签。用例是:最初显示选项卡,隐藏侧边菜单(设置为启用(false))。第一页显示了一个添加到购物车的按钮,这样做会在标题区域显示购物车,点击购物车会显示登录页面。一旦您登录,订单摘要页面就会出现。此时我想显示侧边菜单。所以在ionviwedidload我正在设置menu.enable(true)。虽然它显示菜单图标但不显示实际菜单。

最小测试用例是https://www.dropbox.com/s/tq202w3p6yf32fj/tab-menu_app.zip?dl=0

尝试:

1.运行应用程序
2.单击添加到购物车按钮
3.单击右侧标题中的购物车
这带来了登录页面模型。点击登录按钮
5.摘要页面显示菜单图标。点击它不会做任何事情

2 个答案:

答案 0 :(得分:5)

我检查了您的代码,根据我的理解,您需要更改导航流程。

由于此应用无法在屏幕上显示菜单,因此您将data['COL'] = np.where(~data['COL'].str.startswith('01') & ~data['COL'].str.startswith('02'), 'other', data['COL']) print(data) >>> COL >>> 0 01 thing >>> 1 other >>> 2 02 thing 页面设置为 root 视图。

要解决此问题,您需要从主页推送OrderSummaryPage,然后在那里有2个选项

  1. 隐藏后退按钮和显示菜单按钮。
  2. 不显示菜单按钮,只显示默认后退按钮,当用户点击后面时,它将返回主屏幕,您将获得菜单按钮。
  3. 点击菜单按钮,您将看到菜单屏幕。

    检查此代码:

    第1步:更新您的OpenCart方法:

    OrderSummaryPage

    第2步:在LoginPage中更新登录方法

    openCart(){
    
        let loginModal = this.modalCtrl.create(LoginPage, { userId: 8675309 });
        loginModal.onDidDismiss(data => {
          console.log(data);
          this.navCtrl.push(OrderSummaryPage);
        });
        loginModal.present();
    
      }
    

    现在,如果您想隐藏OrderSummeryPage上的后退按钮,请使用下面的代码

    login(){
        this.viewCtrl.dismiss()
    }
    

    希望你能站在变化之上。

答案 1 :(得分:0)

如果要从任何页面导航到首页(首页),请使用navCtrl.setRoot(HomePage);首先,使用navCtrl.remove(indexOfFirstPageAfterHomePage,numberOfPagesToRemove)删除该页面之前的所有其他页面

示例:

HomePage => ViewprofilePage => EditprofilePage => ConfirmationPage

使用navCtrl.setRoot(HomePage);从ConfirmationPage导航回HomePage;删除ViewprofilePage,首先删除EditprofilePage,否则将不会在主页上打开侧面菜单。

使用navCtrl.remove(1,2)删除两者。

对我有用。希望对您有帮助