Façon de trouver des objets JSON de clés imbriquées dans Vue.js
P粉872182023
2023-08-30 09:44:36
<p>J'essaie d'afficher les utilisateurs d'une liste d'utilisateurs de l'API Django sur mon application VUEjs. </p>
<p>Données de la liste d'utilisateurs dans mon API : </p>
<pre class="brush:php;toolbar:false;">{
"compte": 1,
"suivant" : nul,
"précédent" : nul,
"résultats" : [
{
"url": "http://localhost:8000/v1/users/1/",
"nom d'utilisateur": "admin",
"e-mail" : "admin@example.com",
"groupes": []
}
]
}</pré>
<p>Mon code VUE :</p>
<pre class="brush:php;toolbar:false;"><template>
<div>
<h1> Utilisateurs </h1>
<div v-for="résultats dans APIData" :result="results" :key="results.username">
<h5>{{ result.username }}</h5>
<p>{{ result.email }}</p>
</div>
</div>
</modèle>
<script>
importer { getAPI } depuis '../axios-api' ;
importer { mapState } depuis 'vuex' ;
exporter par défaut {
nom : 'Utilisateurs',
calculé : mapState(['APIData']),
créé() {
getAPI.get('/v1/users/', { en-têtes : { Autorisation : 'Bearer ' + this.$store.state.accessToken } })
.then(réponse => {
this.$store.state.APIData = réponse.data
})
.catch(erreur => {
console.log (erreur)
})
}
}
</script></pre>
<p>Pour une raison quelconque, même si je constate que ma requête API aboutit et que les données sont visibles dans l'onglet Réseau, les données ne s'affichent pas sur la page Web. La façon dont l'utilisateur est affiché est-elle correcte ? Ou est-ce que j'ai raté quelque chose ? </p>
<p>Je suis nouveau sur VUEjs, quelqu'un peut-il m'aider ? </p>
Le problème vient de v-for, vous pouvez essayer d'utiliser :
v-for="results in APIData.results"
, car "results" n'est pas un accesseur mais un nom que vous attribuez à chaque valeur du tableau, et APIData n'est pas un tableau.Si vous voulez juste faire une boucle
APIData
中的results
: