Ionic 4 navigate

Asked

Viewed 85 times

0

Good afternoon, I am new to the angular/Ionic platform, I am studying and I have a function:

async update() {

 this.contactService.updateservice(this.frmcontactdetail.value).subscribe();
    const toast = await this.toastController.create({
      message: 'Contact update successfully',
      duration: 2000
    });
    toast.present();
    this.router.navigate(['/contact']);
  }

the data is updated in the database, but when redirected the route 'this.router.navigate(['/contact'])', the same is still found with the old data, not updating in any way. *Page Contact

list() {
    try {
       this.contactService.listservice().subscribe(dados => this.contact = dados);
    } catch (error) {
      console.log('erro encontrado ' + error);
    }
  }

Thank you.

  • Someone please.

1 answer

0

Are you wearing a Behaviour Subject or Subject instead of a Observable ?

Because thus, your intention is to update the information and send this update to all functions that are registered to "observe" this update.

In his contactService, it should be like this:

...

/**
 * O evento que irá monitorar as alterações do contato
 */
public onContactChangeEvent: Subject<Contact>;

/**
 * Construtor do serviço
 */
constructor() {
   // Se você quiser inicializar esse evento com algum valor, 
   // você deveria usar o Behaviour Suject.
   // ficando assim:         = new BehaviourSubject(contactInfo);
   this.onContactChangeEvent = new Subject<Contact>();
}

...

And for you to "listen" to the updates, you use:

// Para manter uma aplicação concisa, você deve atribuir o resultado dessa inscrição e salvar 
// Normalmente eu coloco em ionViewDidLoad ou ionViewDidEnter
this.onContactSubscription = this.onContactChangeEvent.subscribe(contact => console.log(contact));

...

// E quando a sua página onde essa inscrição foi descarregada da memória, ou o usuário sair da página, você desinscreve a inscrição.
// Normalmente eu coloco no ionViewDidUnload ou ionViewDidLeave
this.onContactSubscription && this.onContactSubscription.unsubscribe();

And to send the updates so that everywhere he’s listening, you use:

this.onContactChangeEvent.next(newContactInfo);
  • Perfect, WORKED, My Thank You.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.