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 :

ngOnChanges() et objet SimpleChange


Sujet :

Angular

  1. #1
    Membre éprouvé
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 503
    Par défaut ngOnChanges() et objet SimpleChange
    Salut,

    J'essaie de comprendre le mécanisme du ngOnChanges() ci-dessous. J'ai épluché quelques tuto qui utilisent l'objet SImpleChange en paramètre, mais dans un code sur lequel je travaille, je n'ai rien de tout ça,

    J'ai un bete "event" qui me renvoie un any au survol. Si vous pouviez m'expliquer à quoi correspond ce paramètre où si il est sensé représenter un objet particulier...

    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
    19
     
    ngOnChanges(event) {
        // Need to check if the component is opened in restricted view mode (Came from organization dashboard in windowed size)
        if (event.restrictedView) {
          this.viewCalendar = true;
          this.calendarMode = true;
        }
        if (event.fromOrganization || (event.nodeId && event.nodeName) || this.selectedNode == this.businessTree.rootNode) {
          this.header = {
            left: '',
            center: 'prev, title, next',
            right: ''
          };
          if (isNullOrUndefined(this.calendarMonthView)) {
            this.calendarMonthView = localStorage.getItem('calendarView') == 'month';
          }
          if (isNullOrUndefined(this.currentWeek)) {
            let dateOfFirstDay = new Date(Date.now());
    ........................................................
    Merci bcp

  2. #2
    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
    ce n'est pas un simple event il doit être du type SimpleChanges
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      ngOnChanges(changes: SimpleChanges): void {     // détection de changement de valeur uniquement sur les: @Input() ......
        console.log('------------------------');                    
        console.log('cycle n°x - ngOnChanges');                // cette fonction est appelé quand une valeur change sur n'importe quelle entrée (@Input) 
        console.log(changes);
        console.log('Le @input qui a changé est:' + JSON.stringify(changes));
      }

    SimpleChanges permet de savoir quel input à changé (parceque bien sur on peut en avoir plusieurs)



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    ngOnChanges(changes: SimpleChanges): void {
        for (const propName in changes) {
          if (changes.hasOwnProperty(propName)) {
            switch (propName) {
              case 'myFirstInputParameter': {                     // @Input() myFirstInputParameter
                this.doSomething(change.currentValue)
              }
              case 'mySecondInputParameter': {                // @Input() mySecondInputParameter
                this.doSomething(change.currentValue)
              }
            }
          }
        }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 503
    Par défaut
    ok, merci beaucoup, c'est bien ce que je pensais puisque ngOnChanges() est déclenché délors qu'un composant exterieur modifie la valeur d'un @Input(), mais je pensais qu'il fallait au moins l'import en haut du typescript.
    merci e ton aide

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

Discussions similaires

  1. codage objet
    Par charly dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 22/08/2002, 16h49
  2. algo : rotation d'objet 3d
    Par numeror dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/08/2002, 22h58
  3. Importer des objets de 3dsMax
    Par Anonymous dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/05/2002, 13h53
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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