page navigationend cambiar angular typescript ionic2 ionic3

navigationend - title angular 6



Ir a la página raíz desde una pestaña (2)

Como puedes ver en los documentos

Tenga en cuenta que cada <ion-tab> une a una propiedad [root] , al igual que en la sección de navegación anterior. Eso es porque cada <ion-tab> es realmente solo un controlador de navegación. Esto significa que cada pestaña tiene su propia pila de historial , y NavController instancias de NavController inyectadas en los elementos @Components hijos de cada pestaña serán exclusivas de cada pestaña

Por lo tanto, al configurar una página como raíz, está utilizando la pila de navegación de esa pestaña, y no la de toda la aplicación. Es por eso que necesitas obtener la pila de navegación principal haciendo:

constructor(private app: App,...) {...}

Y entonces

yourMethod(): void { this.app.getRootNav().setRoot(YourPage); }

Me gustaría saber cómo volver a la raíz de página definida en el componente de la aplicación cuando se utilizan pestañas. El método setRoot no está funcionando como esperaba. Cuando se usa en una página de pestañas, la pila de navegación no se borra. En la "página de inicio", el botón Atrás es visible en lugar de la barra de navegación y se muestra el título de la pestaña.

De forma predeterminada, las páginas se almacenan en la memoria caché y se dejan en el DOM si se navegan desde, pero aún están en la pila de navegación (la página que sale en un push () por ejemplo). Se destruyen cuando se eliminan de la pila de navegación (en pop () o setRoot ()).

La declaración anterior me da la expectativa de que cuando uso las páginas de setRoot se eliminen del caché. Esto parece ser cierto cuando se usa en una página normal pero no en una pestaña.

En la clase de la página de pestañas hay una función que establece la página raíz en el inicio cuando se hace clic en el botón.

goToHome() { this.navCtrl.setRoot(HomePage); }

¿Cómo puedo asegurarme de que cuando regresemos a la página de inicio no haya un botón de retroceso y se use el título de la casa que está disponible en la plantilla html del componente.


Solo prueba esto, funciona genial para mi

this.childNavCtrl.setRoot(HomePage);