Ionic2 - 登录,然后是侧面菜单

时间:2016-05-20 05:32:39

标签: ionic-framework ionic2

我正在使用Ionic2 创建一个应用程序,并且要求是 - - 首次加载时的应用程序将显示“登录”页面并在登录时显示 - 将启用侧面菜单页面

初学者项目显示侧边菜单作为应用程序的根目录,并在任何其他页面打开之前首先加载 - 然后它加载其他相关页面。

如何构建一个首先加载登录页面的应用程序,然后将侧面菜单设置为主导航,并且永远不会显示登录屏幕?

我用离子1做了这个,但是没能用离子2弄清楚

请帮忙。

4 个答案:

答案 0 :(得分:10)

一种解决方案是在登录屏幕上禁用菜单,然后在登录后启用它。

您可以通过注入MenuController来禁用菜单,然后使用:

  import {NavController, MenuController} from 'ionic-angular';



  ionViewDidEnter() {
    //to disable menu, or
    this.menu.enable(false);
  }

  ionViewWillLeave() {
    // to enable menu.
    this.menu.enable(true);
}

答案 1 :(得分:1)

@Digital IQ,您必须将登录页面设置为现有app.ts文件中的rootPage,并使用登录页面中的 MenuController 启用菜单启用 onPageDidLeave ionic conference app中提供了此示例,其中包含教程页面,然后才能进入实际应用程序。请参阅this进行菜单控制,并this(第50行)设置初始页面。

答案 2 :(得分:0)

由于用户确实已经登录,所以肯定会发生上述问题,但是在侧边菜单页面上并没有进行更改,即将其设置为当前用户。

为此,您可以使用事件API

事件是一种发布-订阅样式的事件系统,用于在您的应用程序中发送和响应应用程序级事件。

作为参考,请通过以下答案进行操作- Ionic 3 refresh side menu after login

答案 3 :(得分:-1)

亲切的[vahid najafi& Aish123]

我尝试了一些更容易的东西,我发现它有效。

  • 我首次加载应用时将LogIn页面设置为root用户 - 我删除了' menuToggle'此模板中的按钮。

  • 然后我导入组件我要重定向登录

  • 我在LogInPage类中创建了一个singIn函数,如下所示:

    signIn(){
        让navRef = this.app.getComponent(' nav');
        navRef.setRoot(HelloIonicPage); }

它就像一个魅力