Je crée mon site Web en utilisant ejs, et j'essaie de créer une boucle for dans une boucle for, mais quand j'essaye d'accéder à une valeur dans le cadre de la première boucle, je ne peux pas, y a-t-il un moyen de le faire? comme ça: ...

0
Yamil Yscapa 15 mars 2021 à 08:32

1 réponse

Meilleure réponse

Je ne suis pas sûr que vous ayez posté votre code complet, mais je vois que vous n'avez pas fermé la première boucle. Mais de toute façon, je suppose que cela n'a pas été ajouté par erreur.

EJS suit la syntaxe Javascript. Vous devriez pouvoir accéder aux variables ou aux données de la boucle parent dans votre boucle enfant.

Pour mettre les choses clairement, voici ce que j'aurais fait. Supposons que vous disposez de l'ensemble de données suivant.

students: [{
    name: ABC,
    age: 20,
    gender: male/female,
    scores: [
       {
         subject: 'physics',
         score: 70,
         maxScoreAllowed: 100
       }, .......
    ]
},.....]

Pour cela, vous pouvez écrire votre boucle comme ceci.

<% students.forEach(student => { %>
   <p><%= student.name =%>
   <% student.scores.forEach(score => { %>
       <p><%= score.subject + ' = ' + score.score + '/' + score.maxScoreAllowed 
       %>
       <!-- you can also access the student object here -->
   <% } %>
<% } %>

Espérons que cela vous aide à comprendre exactement ce que vous faites de mal.

0
Rohit Dubey 15 mars 2021 à 05:45