Búsqueda de sitios web

angular - Menú lateral y la página no responde después de configurar nuevamente la página raíz Ionic 2 Beta 11


Hola, estoy usando Ionic 2 Beta 11. Estoy en la página de inicio de sesión y después de iniciar sesión estoy estableciendo una página como página raíz. Después de iniciar sesión, la página se muestra y el ícono del menú también, pero cuando hago clic en el botón de la página y en el ícono del menú en la pantalla de la página, la página no responde y el menú tampoco funciona. Probé estas soluciones pero ninguna de ellas funciona.

this.navCtrl.setRoot(AppointmentsPage);

y

 this.app.getRootNav().setRoot(AppointmentsPage)

Aquí está mi código.

onLogin(form) {
      this.submitted = true;
if (form.valid) {
    this.networkservice.showLoading();
    var data = this.userData.login(this.login.email,this.login.password);
    console.log(data);
    data.subscribe(res => {
          if(res.length == 0  ) {
            this.login.isVaild = false;
            this.networkservice.hideLoading();  
          }else{
            this.userData.setDoctor(res[0]);
            this.hideLoading();
            this.navCtrl.setRoot(AppointmentsPage);


          }

        });

  }else{
  }

}

Por favor, ayúdame con este problema

Respuesta #1

Si alguien enfrenta este problema, creo que he encontrado el problema principal en este escenario. El problema ocurre cuando estás haciendo un push desde un "modal" o "popover" y por eso sucede el problema de navegación. Para hacerlo de la manera correcta, ejecuta el push o setRoot 'desde la página que llama al popover o modal en su lugar'. Esto se puede hacer fácilmente con la función '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)
    }
});

¡Espero que ayude a alguien!