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

JavaScript Discussion :

Passage de valeurs entre Objets et importer Valeurs dans function


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2019
    Messages : 19
    Par défaut Passage de valeurs entre Objets et importer Valeurs dans function
    Mon code pen
    https://codepen.io/zlepoizon/pen/ZEeyPGQ

    Bonjour à la team,
    Apprenant JS je rame sur un export de valeur entre une fonction et deux objets.J'ai créé pour illustrer ce script.
    (Peut paraître idiot dans l'exemple). Donc exercice passer de l'objet Un à l'objet Deux et importer la valeur de l'objet Deux.

    L'objectif de l'exercice, mélanger trois lettres abc, et me retourner l'index de a. (Exemple (b,c,a) l'index de "a" sera 2)
    Le But est de passer les paramètres de la MaClassUn à la MaClassDeux et importer la valeur (index ex: 2) dans ma fonction getId()

    (1) MaClassUn : mélange trois lettres abc et propose index (indice). Fonctionnel
    (2) MaClassDeux : (ici afficher l'index de MaClassUn)
    (3) Fonction qui viendrait importer la valeur de MaClassDeux

    Mon soucis c'est quand je fais let maVariable = new ... il me crée une autre instance.
    (j'ai juste besoin d'importer la valeur déja crée de l'objet MaClassUn), soit je n'ai pas de valeurs importée dans ma fonction.

    Ma question comment faites vous pour passer d'un objet à l'autre et comment exportez vous ces valeurs dans une fonction sans recréer de nouvelles instances ?
    Merci à ceux qui voudront bien me répondre.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    je n'ai pas très bien compris ce que vous cherchez à faire dans votre code puisque vous instanciez chaque classe dans l'autre.

    en résumé, pour accéder directement aux attributs d'un objet, ça se passe comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let variable1 = new MaClassUn(......);
     
    alert("Index de a : " + variable1.indice)

  3. #3
    Membre averti
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2019
    Messages : 19
    Par défaut
    Merci Mathieu,
    Oui c'est comme ça que j'instancie mais l'objectif et ma question c'est du comment on peut passer entre objet la valeur de l'objet un à l'objet 2 et surtout et comment l'appeler dans la fonction getIt(). Car si j'instancie dans ma fonction je n'ai plus la valeur de maClassUn mais une autre valeur crée par mon instance.

    Dans mon penCode quand tu cliques sur un bouton tu as deux alert j'aimerais avoir l'index de ma ClassUn. (je sais que c'est pas évident à comprendre)

    Ce code sert à faire une quiz.
    On clique sur un bouton pour démarrer le quiz, on a une question qui s'affichera avec 3 choix abc, avec réponse mélangée.
    j'ai besoin de l'index de la bonne réponse pour afficher bonne réponse quand je clique sur un des trois boutons. Donc j'aurais besoin de connaitre index de mon a dans cette fonction.

  4. #4
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    je n'ai pas compris où vous voulez en venir.
    montrez nous un code plus simple avec le vrais noms de classes et des méthodes.

  5. #5
    Membre averti
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Mars 2019
    Messages : 19
    Par défaut Function
    Bonjour Mathieu,
    Par exemple dans cette exemple.
    Je désire reprendre la valeur de monTableau dans ma fonction.
    Créer une instance dans cette fonction ne me permet pas d'importer la variable x ou c'est indifined si j'appelle en instance objet deux.
    Nom : bogue.jpg
Affichages : 113
Taille : 1,13 Mo

  6. #6
    Membre éprouvé Avatar de tag9724
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 64
    Par défaut
    Le code en question est un système de quizz si j'ai bien compris avec ce qui as été expliqué ici ainsi que dans l'autre question que tu as posé juste avant, ce que je n'ais pas compris c'est ce que tu cherche à faire ici précisément et ce qu'est censé accomplir le dernier code envoyé.

    Je ne comprend par exemple pas pourquoi il y'a plusieurs classe ni ce qu'elles font exactement chacune, je crois comprendre que deux est utilisée comme un objet pour stocker les réponses possible d'une question ?

    De ce que j'ai compris tu cherche a accéder a la variable x et a sa méthode x.fct() au click d'un des boutons.
    Une solution serais donc que la fonction getId() déclenchée au click d'un bouton soit dans le même scope que x ( donc dans le scope de afficheLaQuestion() )

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
      afficheLaQuestion() {
        const buttons = document.getElementsByClassName("buttonQ")
        let x = new deux(this.currentItemIndex, this.indice)
     
        const getId = (button) => {
          const idButton = button.getAttribute("id")
          console.log(idButton) // affiche id Div cliqué
          console.log(x.fct()) // fonctionneras, "x" étant accessible dans ce scope
        }
     
        for (const button of buttons) {
          button.onclick = () => getId(button)
        }
      }
    Je n'ais absolument aucune idée de si cela pourras t'aider mais dans le doute je t'ai fait un exemple de système de Quizz ici https://jsfiddle.net/t0s15erh/

Discussions similaires

  1. problème de passage de valeur dans une fonction
    Par jeremie74 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 21/09/2007, 18h30
  2. [Upload] Probleme de passage de valeur dans un $_FILES
    Par chrisKey dans le forum Langage
    Réponses: 2
    Dernier message: 01/07/2007, 13h15
  3. Passage de valeur dans l'URL
    Par frog43 dans le forum Général JavaScript
    Réponses: 36
    Dernier message: 14/04/2007, 12h04
  4. Passage de valeurs dans url
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 06/04/2006, 22h46
  5. Passage de valeur dans url
    Par licorne dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2006, 15h01

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