Comment recharger le ion-page après pop() dans ionic2
J'ai 2 pages Page1 and Page2
. J'ai utilisé this.nav.pop()
dans Page2 et il apparaîtra à la Page1, Page2 et permettra mais je veux me rafraîchir la Page 1.
Je vous remercie à l'avance.
this.nav.pop()
utilisé pour ?- c'.la valeur liquidative.pop() est utilisée pour pop Page2
- êtes-vous après l'actualisation de la page entière ou seulement des données dans la page? La raison pour laquelle je demande, c'est que angulaires 2 a mis beaucoup de travail dans la mise à jour des DOM que quand il a besoin d'être mis à jour et l'actualisation de la page entière peut-être exagéré en fonction de ce que vous essayez d'atteindre.
- Il y a une solution ici où onPageWillEnter est appelé lorsque vous revenez à la page vous permettant d'actualiser vos données. Espérons que cette aide.
Vous devez vous connecter pour publier un commentaire.
vous pourriez passer le parent de page, ainsi que la valeur liquidative de pousser. de cette façon, vous pourriez accces la page parent comme un navParamter.
dans la page parent:
et dans le enfant page avant pop vous pourriez appeler des fonctions de la page parent
Ignorer le direct angulaire implémentations suggéré ici, surtout depuis que vous êtes en utilisant Ionique 2 et les suggestions sont en supposant Ionique 1. Ne pas commencer à mélanger trop de direct angulaire dans votre ionique application à moins qu'il n'existe aucune ionique de la mise en œuvre de ce dont vous avez besoin. Importer des "Événements" de l'ionique/angular2 dans les deux Page1 et Page2, puis dans Page2 faire quelque chose comme
Et en Page1 mettre
pop
,push
dans lesubscribe
ne l'est pas. Au lieu de cela, vous pourriez avoir un initialiseur de fonction au sein de la Page1 que vous pouvez appeler dans lesubscribe
.Vous pouvez mettre en œuvre l'un de ces dans votre page:
ionViewWillEnter
ionViewDidEnter
Veuillez consulter le navController et la page du cycle de vie des documents:
http://ionicframework.com/docs/v2/api/components/nav/NavController/
Simple solution qui a fonctionné pour moi a été d'obtenir de l'appel de la méthode de service de nouveau dans ionViewDidEnter
Sur la PAGE 1:
À la PAGE 2:
entrez le code ici
Vous pouvez envisager d'envoyer un événement avant d'appeler
this.nav.pop
de laisser la page 1 de se recharger.Comme Jonathan dit, vous pouvez importer des Événements à partir ionique-angulaire, mais vous n'avez pas besoin de push et pop de nouveau appel à vos méthodes de recharge uniquement le contenu.
Dans page2:
En page1:
Qui fonctionne pour moi.
J'suffit de charger les détails dans la page 1 dans une ionViewWillEnter fonction (en utilisant Ionique 2). Cela gère à la fois la charge initiale et tout rafraîchissement quand popping retour à la page 1.
Documentation est ici.
J'ai trouvé cette technique pour recharger une page:
this.navCtrl.insert(1, MyPage, paramsCopy});
).J'ai eu le même problème et passer de nombreuses heures à chercher et à essayer la solution.
Si je comprends bien, ton problème est:
Page 1 de certaines liaisons que vous obtenez à partir d'une API /Webservices.
Page 2 ont certains intrants et en appuyant sur le bouton back (pop) que vous voulez ENREGISTRER les données de + de rafraîchissement de la Page 1 liaisons.
La façon dont je l'ai résolu a été la lecture d'un post sur StackOverflow que maintenant, je ne trouve pas 🙁 !!
La solution est d'utiliser une injection de Service.
PAGE 1:
INJECTABLE SERVICE:
PAGE 2:
J'espère que cela peut vous aider!! Demandez les mêmes problèmes 🙂
J'ai passé un jour et demi sur un problème similaire. La solution est anti-climatiques vraiment.
Je suis de passage d'un FormGroup à partir de la Page 1 à la Page-2. - Je mettre à jour le FormGroup valeurs dans la Page-2. Quand je pop en Page 2, à la Page 1 du formulaire n'est pas mis à jour avec les nouvelles valeurs. Il n'a pas été à regarder pour les changements.
Pour corriger cela, je patch le FormGroup avec elle-même après Page-2 a été sauté, mais toujours dans la Page-2 composant.
C'est plus réactif, mais nécessite un appel direct à fermer().
C'est tout englobant, mais je vois l'actualisation de la Page-1.
Dans certaines situations, au lieu de la pop (), vous pouvez utiliser le push() fonction. Lorsque vous accédez à la page du " push (), fonction qu'il est rechargé.
Vous pouvez aussi supprimer page2 de la navigation.
Ou si vous avez plus d'une page par exemple page1->page2->pag3:
ionViewWillEnter sera appelé tout à l'avant tout le temps de vous (re)visualiser la page
Veuillez checkout ma solution, que j'ai posté ici:
Peut-être que vous pouvez l'adapter à vos besoins.
Le point principal de mon intention était d'éviter le passage d'un module entier avec
this
comme unnavCtrlParam
dans lepush()
'ed page, comme il a été mentionné dans certains commentaires avant.Espère que cela aide!
Acclamations
Unkn0wn0x