content: Example shows uncommon IonRouterOutlet usage
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- angular, typescript
- Área
- documentation, mobile-dev
Línea de trabajo
Abre la documentación enlazada del botón de retroceso del hardware e inspecciona la pestaña Angular (Standalone), centrándote en cómo se inyecta IonRouterOutlet. Actualiza el ejemplo para mostrar un enfoque funcional con un componente de nivel superior para el comportamiento de salida predeterminado al estilo de Android y, después, verifica que el código mostrado coincida con ese caso de uso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
URL
https://ionicframework.com/docs/developing/hardware-back-button#exiting-the-app
Issue Description
On the linked page (I am referencing the Angular (Standalone) tab), the IonRouterOutlet is injected via the constructor.
However, this only works if it used in a subcomponent of the app and not in AppComponent and, I would argue that this is a rather uncommon use-case, as the usual developer probably only wants to add it to the top-most component.
In my case, I had to search for quite some time to find a really neat solution in the following issue comment, and according to the reactions I am not alone (note that the issue is also locked since nearly 4 years!):
https://github.com/ionic-team/ionic-framework/issues/21630#issuecomment-683007162
IMO, the docs example should show a working way of implementing the default behavior (like in native Android apps) in a straightforward way like:
import { ViewChild } from '@angular/core';
import { IonRouterOutlet, Platform } from '@ionic/angular/standalone';
import { App } from "@capacitor/app";
// ...
@ViewChild(IonRouterOutlet, {static: true}) routerOutlet?: IonRouterOutlet
constructor(private platform: Platform) {
this.platform.backButton.subscribeWithPriority(-1, () => {
if (this.routerOutlet && !this.routerOutlet.canGoBack()) {
App.exitApp();
}
});
}
- Lenguaje dominante
- MDX
- Estrellas
- 621
- Forks
- 3.2k
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 86
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de ionic-team/ionic-docs
-
content
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
ionic-team/ionic-docs#4705 ·
-
content package: angular
Dificultad 2/5 Medio día Aptitud para principiantes 78/100
ionic-team/ionic-docs#4702 ·
-
triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
ionic-team/ionic-docs#4546 ·
-
content: broken link Abiertocontent
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
ionic-team/ionic-docs#4381 · 2 comentarios ·
-
triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
ionic-team/ionic-docs#3639 ·
Todos los issues de ionic-team/ionic-docs
Issues similares
-
documentation help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
user-reported
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Kong/developer.konghq.com#7316 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
HarperFast/skills#96 ·
-
Client support matrix inclusion Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
infinispan/infinispan#18150 ·