J'utilise Ionic 2 et j'ai un jeu d'onglets. Chaque onglet maintient sa propre pile de navigation.Comment puis-je changer d'onglet et aller à la racine d'une pile de navigation?
L'utilisateur peut parcourir plusieurs pages dans l'un des onglets, puis changer d'onglet.
Le problème est qu'il existe des interactions dans l'onglet 1 cet effet, le contenu de l'onglet 2. Qu'est-ce que je trouve est que si l'utilisateur fait certaines actions dans un certain ordre, je reçois une erreur:
Runtime Error
Uncaught (in promise): removeView was not found
Je crois que c'est parce que Ionic tente de supprimer une vue qui n'existe plus parce que le contenu a changé.
Dans l'onglet 1, l'utilisateur appuie sur un bouton pour charger l'onglet 2. L'application enregistre la sélection effectuée dans le stockage local, que l'onglet 2 charge ensuite lorsqu'il est sur la page racine. Je sélectionne Tab 2 en utilisant le code suivant:
this.navCtrl.parent.select(1);
Je crois que je peux éviter ce problème en allant à la racine de la pile de navigation lorsque l'onglet est sélectionné, mais comment puis-je faire?
J'ai essayé:
this.navCtrl.parent.select(1);
this.navCtrl.parent.goToRoot();
Mais avec cela, rien ne se passe. L'onglet ne change pas et il n'y a pas d'erreurs. Donc, ma question: Comment puis-je changer un onglet et naviguer vers la racine de la pile de navigation à partir d'un autre onglet?
Vous pouvez définir la racine de l'onglet 1 (this.navCtrl.setRoot (tab1)). Si cela ne fonctionne pas pour vous, veuillez mettre votre code dans Plunker où ce problème peut être reproduit. –