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 :

Stocker une valeur dans le component html


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut Stocker une valeur dans le component html
    Bonjour, je débute avec Angular.

    J'ai une page qui affiche des produits classés par catégories. J'utilise pour cela une boucle *ngFor.
    Pour éviter d'afficher à chaque fois la même catégorie, je cherche un moyen pour "stocker" la catégorie en cours dans une variable puis comparer avec la nouvelle catégorie. S'il s'agit bien d'une nouvelle catégorie je l'affiche et continue jusqu'à la nouvelle suivante.

    Existe-t-il un moyen pour sauver cette donnée catégorie?

    J'ai cherché dans la doc et divers tutos mais je n'ai rien trouvé.

    Merci pour votre aide

  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
    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
    <    *ngFor="p of ..."
        <   *ngIf="checkCategory(p.category)"   > {{p.category.name}}
     
     
    ....
     
    categoryDisplaying = '';
     
    checkCategory(category) {
     
      if (this.categoryDisplaying == category) {
         return false;
      } else {
         this.categoryDisplaying = category;
         return true;
      }
    }

  3. #3
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut
    Bonsoir Krakatoa,

    merci pour ton aide.

    je n'arrive toujours pas à attribuer une valeur à la variable "previousCategory". Elle reste "undefined" dans mon fichier component.ts.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <ng-container *ngFor='let m of menu;'>
        <app-menu-view [previousCategory]="m.category.description"></app-menu-view>
        <article *ngIf="checkCategory(m.category.description) === true">
            <ul class="plats">
              <li>
                {{m.category.description}}
                {{m.title | uppercase}}
                <span class="price">{{m.prix}}</span>
                <span class="ingredients">{{m.ingerdients}}</span>
              </li>
            </ul>
        </article>
      </ng-container>

    Est-ce que je m'y prend mal?
    Merci

  4. #4
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    montre le code

  5. #5
    Membre éclairé
    Profil pro
    IT Développeur
    Inscrit en
    Mars 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Développeur

    Informations forums :
    Inscription : Mars 2009
    Messages : 274
    Par défaut
    Merci aussi pour ton aide dukoid,

    voici le code
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      <ng-container *ngFor='let m of menu;'>
        <article *ngIf="checkCategory(m.category.description)">
          <h2>{{m.category.description |uppercase}}</h2>
          <ul class="plats">
            <li>
              {{m.title | uppercase}}
              <span class="price">{{m.prix}}</span>
              <span class="ingredients">{{m.ingerdients}}</span>
            </li>
          <app-menu-view [previousCategory]="m.category.description"></app-menu-view>  
        </ul>
        </article>
      </ng-container>
    De plus, je voudrais fermer les </ul> et </article> avant d'afficher la balise <article> dans le cas où je commence une nouvelle catégorie ou dans le cas de la première

    et la fonction checkCategory
    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
    export class MenuViewComponent implements OnInit {
      @Input() previousCategory: string;
      menu: IMenu[];
      error = 'Erreur chargement menu';
      constructor(private menuService: MenuService) { }
     
      // Consommation du service
      ngOnInit() {
        this.menuService.loadMenu().subscribe(
          menu => { this.menu = menu; },
          error => { console.log(error); }
        );
      }
     
      checkCategory(category: string): boolean{
        return (this.previousCategory !== category);
      }
    }
    Je ne vois où je boucle.

    Merci

  6. #6
    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
    essaye ça :
    Code html : 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
    19
    <ng-container *ngIf='menu'>
      <ng-container *ngFor='let m of menu;'>
     
        <ng-container *ngIf="checkCategory(m.category.description)">
          <article >
            <h2>{{m.category.description |uppercase}}</h2>
              <ul class="plats">
                <li>
                  {{m.title | uppercase}}
                  <span class="price">{{m.prix}}</span>
                  <span class="ingredients">{{m.ingerdients}}</span>
                </li>
              <app-menu-view [previousCategory]="m.category.description"></app-menu-view>  
            </ul>
          </article>
        </ng-container>
     
      </ng-container>
    </ng-container>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insérer une méthode dans un component html
    Par olivier252 dans le forum Angular
    Réponses: 4
    Dernier message: 21/03/2020, 22h29
  2. stocker une valeur dans une variable de session
    Par heeedi dans le forum Langage
    Réponses: 1
    Dernier message: 25/05/2009, 08h46
  3. [VB2008E] Où stocker une valeur dans les items d'une combobox ?
    Par dsolheid dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/01/2008, 19h14
  4. Réponses: 6
    Dernier message: 05/01/2006, 16h37
  5. exportation d'une valeur dans un document html
    Par acd dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 21h34

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