IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Mettre à jour les données en temps réel


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2021
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2021
    Messages : 82
    Par défaut Mettre à jour les données en temps réel
    Bonjour,

    J'ai un bouton qui change en fonction du status quand je clique dessus.
    Cette fonction marche nickel, quand je clic le changement s'effectue bien dans la bdd. Par contre au niveau de l'affichage il reste sur l'ancien status, pour voir le nouveau stau s'afficher, il faut que je change de page et que je revienne sur celle-ci.
    Moi j'aimerais rester sur la page et faire un switch entre les deux status directement.

    du coup mon nouveau de mon component.ts je fais appel comme ceci à ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
      onSwitchPartner(): void {
        const updateStatus = {
          idPartner: this.idPartner,
          statusPartner: 'Partenaire'
        }
        console.log('récupération des données à envoyer au back', updateStatus);
        this.partnerService.updateStatus(updateStatus);
      }
     
      onSwitchNoPartner(): void {
        const updateStatus = {
          idPartner: this.idPartner,
          statusPartner: 'Non partenaire'
        }
        console.log('récupération des données à envoyer au back', updateStatus);
        this.partnerService.updateStatus(updateStatus);
      }
    }
    au niveau de HTML j'ai mais deux button
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            <div class="m-auto">
                <button style="font-size: 12px;" (click)="onSwitchPartner()" *ngIf="statusPartner === 'Non partenaire'">Partenaire</button>
            </div>
            <div class="m-auto">
                <button style="font-size: 12px; background-color: #b1b1b1; border: #b1b1b1;" (click)="onSwitchNoPartner()" *ngIf="statusPartner === 'Partenaire'">Non partenaire</button>
            </div>

    et au niveau de mon service je fais appel à mon back

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
      emitPartnerSubject(){
        this.partnerSubject.next(this.partners);
      }
     
      updateStatus(partner) {
        return this.httpClient.post(`${this.baseUrl}/updateStatus.php`, partner).subscribe(
          () => {
            console.log('envoie des données au back', partner);
            console.log('enregistrement ok');
            this.emitPartnerSubject();
          },
          (error) => {
            console.log('envoie des données au back', partner);
            console.log('erreur de sauvegarde' + error);
          }
        );
      }

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    (1)
    tu emets ici un nouveau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     emitPartnerSubject(){
        this.partnerSubject.next(this.partners);
      }
    tu souscrits aprés ?



    (2)
    à quel moment statusPartner du ngIf est renseigné avec la nouvelle valeur ?

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    statusPartner ={{statusPartner }}
    <div class="m-auto">
                <button style="font-size: 12px;" (click)="onSwitchPartner()" *ngIf="statusPartner === 'Non partenaire'">Partenaire</button>
            </div>
            <div class="m-auto">
                <button style="font-size: 12px; background-color: #b1b1b1; border: #b1b1b1;" (click)="onSwitchNoPartner()" *ngIf="statusPartner === 'Partenaire'">Non partenaire</button>
            </div>

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2021
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2021
    Messages : 82
    Par défaut
    alors pour le 1 je fais une souscription dans la fonction update

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      updateStatus(partner) {
        return this.httpClient.post(`${this.baseUrl}/updateStatus.php`, partner).subscribe(
          () => {
            console.log('envoie des données au back', partner);
            console.log('enregistrement ok');
            this.emitPartnerSubject();
          },
          (error) => {
            console.log('envoie des données au back', partner);
            console.log('erreur de sauvegarde' + error);
          }
        );
      }
    mais par contre pour le 2 je ne vois absolument pas comment faire. j'ai testé plein de chose mais à chaque fois j'avais des erreur et donc impossible de compiler

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    petite re écriture :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            <div class="m-auto">
                <button *ngIf="statusPartner === 'Non partenaire'"  (click)="onSwitchPartner()" style="font-size: 12px;">Partenaire</button>
                <button *ngIf="statusPartner === 'Partenaire'" (click)="onSwitchNoPartner()" style="font-size: 12px; background-color: #b1b1b1; border: #b1b1b1;" >Non partenaire</button>
            </div>


    ici, tu changes: statusPartner d'une valeur à une autre
    mais à aucun moment la vue est informé du changement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     onSwitchPartner(): void {
        const updateStatus = {
          idPartner: this.idPartner,
          statusPartner: 'Partenaire'
        }
        console.log('récupération des données à envoyer au back', updateStatus);
        this.partnerService.updateStatus(updateStatus);
      }
     
      onSwitchNoPartner(): void {
        const updateStatus = {
          idPartner: this.idPartner,
          statusPartner: 'Non partenaire'
        }
        console.log('récupération des données à envoyer au back', updateStatus);
        this.partnerService.updateStatus(updateStatus);
      }


    dans la vue : *ngIf="statusPartner === 'Non partenaire'"

    dans le code, ou affecte tu la variable : statusPartner avec la nouvelle valeur ? ('Non partenaire' ou 'Non partenaire')

Discussions similaires

  1. [AIR] Mettre à jour les données
    Par siriu dans le forum Flex
    Réponses: 2
    Dernier message: 12/10/2011, 14h20
  2. Réponses: 0
    Dernier message: 29/01/2011, 17h40
  3. Comment mettre à jour une Progressbar en temps réel ?
    Par colorid dans le forum Composants VCL
    Réponses: 7
    Dernier message: 31/01/2008, 12h21
  4. Réponses: 3
    Dernier message: 26/09/2007, 14h34
  5. Mettre à jour les données avec un ADODC
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/08/2006, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo