0
votes

Problème avec la boucle tout en travaillant avec Vuejs

Cet après-midi, je pratiquais un peu avec Vuejs. Utilisez simplement Axios pour obtenir des données. J'ai réussi à récupérer des données. Mais ensuite j'ai rencontré un problème avec la boucle de la boucle.

si je fais cela xxx

j'ai changé un peu et ça travaillé xxx

La question est de
1. Dans le premier code, pourquoi la boucle ne fonctionne-t-elle qu'une seule fois? de
2. J'ai essayé de découvrir et j'ai trouvé quelques commentaires sur la "portée". Alors, quelqu'un peut-il vous expliquer plus clairement? Merci.


2 commentaires

Avez-vous vérifié la longueur de res ? Comme la console l'a connecté?


@Gbwdev oui, j'ai.


3 Réponses :


1
votes

Dans le premier code, la fonction est indéfinie, vous pouvez utiliser la Fonction de flèche pour lier ce xxx

comme ceci


0 commentaires

1
votes

Toutes les actions doivent avoir lieu dans alors code> sous forme d'axios do appels asynchrones et de portée Cette fonction code> est une autre valeur:

var that = this;
var second_arr = []; // Defined a variable here
axios.get('url')
  .then(function(res) {
     for (var i = 0; i <= res.length; i++) {
        if (true) {
            second_arr.push = something; 
        }
     }
     that.arr = second_arr;
})
.catch(err=>console.log(err));


0 commentaires

0
votes

Je suis sûr que vos données ne sont pas dans réponse mais dans intervention.data

 Entrez la description de l'image ici

Comme vous pouvez le voir lorsque vous console.log (réponse.length) renvoie de la console non défini mais lorsque vous console.length (réponse.data.length) il renvoie 1

Edit: Dans mon cas exemple, il n'y a qu'un seul objet dans les données, peut-être dans votre cas, ce sera plus de 1


0 commentaires