Ipoote
Messages postés45Date d'inscriptiondimanche 23 septembre 2018StatutMembreDernière intervention21 mai 2023
-
Modifié le 19 mai 2023 à 22:45
jordane45
Messages postés38353Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention27 décembre 2024
-
21 mai 2023 à 22:43
Bonjour,
Je poste ce message car je suis en train de recréer un site que j'avais fait en Symfony il y a quelque temps, en VueJS 3.
Je voudrai à terme récupérer les données générées par mon Symfony via API Platform, mais actuellement j'ai juste mis mes données JSON en dur dans mon VueJS.
Mon site est un album photo avec un système d'utilisateur, de tags etc, et je veux récupérer chaque photo et l'afficher sous l'utilisateur correspondant, ce que j'ai réussi à faire, mais le problème est que cela ne fonctionne pas pour les tags : je boucle en HTML sur mes données JSON et je n'arrive pas à afficher les tags correctement, voici mon code :
<template>
<Photos :photos="photos" :users="users"/>
</template>
<script setup>
import User from './Home.vue'
import Photos from './Photos.vue'
import { useDefaultStore } from '../stores/index'
import { useRouter, useRoute } from 'vue-router'
import { onMounted, ref, computed } from 'vue'
const router = useRouter()
const route = useRoute()
onMounted(() => {
console.log('Le composant Home est chargé')
})
const store = useDefaultStore()
const photos = store.photos
const users = store.users
</script>
<style>
</style>
Je passe mes données entre composants etc, et j'ai bien accès aux données dans le HTML que j'envoie, le problème vient de la boucle et je ne trouve pas où il est.
Ipoote
Messages postés45Date d'inscriptiondimanche 23 septembre 2018StatutMembreDernière intervention21 mai 2023 20 mai 2023 à 15:25
Mon problème c’est que je n’arrive pas à boucler correctement et afficher ce que je veux :
« Album de xxx »
Photo1 de xxx
Les tags de la photo1 de xxx
Photo2 de xxx
Les tags de la photo2 de xxx
« Album de yyy »
Photo1 de yyy
Les tags de la photo1 de yyy
<br>
Il faut que je boucle sur mon tableau « tags » qui contient tous les tags créés ainsi que leur nom etc, mais aussi que je cherche dans les tags de la photoActuelle afin de trouver la référence de ses tags (je sais pas si c’est clair), je ne peux pas directement extraire le nom du tag depuis les tags de photoActuelle vu que je n’ai que les références des tags qu’elle contient, donc il faut que je compare à chaque fois les références et que, si la référence est la même, j’affiche le nom du tag.
J’imagine bien que ça doit ne doit pas être si compliqué que ça, mais j’ai pas l’habitude de faire des boucles en html et… je sais pas, je n’y arrive pas
Je suis pas sûr d’être très clair dis-moi si jamais tu comprends pas ^^
Merci beaucoup !
<div v-for="user in props.users[0]['hydra:member']">
<h1>Album de {{ user.username }}</h1>
<figure v-for="photo in user.photos ">
puis, pour les tags
<figure v-for="tag in user.tags">
Pour le reste.. je ne fais pas de vue.js
Je t'invite donc à utiliser la documentation par toi même afin de résoudre tes problèmes.
Et puis
Je voudrai à terme récupérer les données générées par mon Symfony via API Platform, mais actuellement j'ai juste mis mes données JSON en dur dans mon VueJS.
N'hésites pas à retourner les informations de façon pertinentes directement dans ton JSON au lieu de chercher à faire des boucles dans des boucles au niveau de tes vues.
Il est préférable de structurer les données de sorties ( ton JSON ) de façon à disposer des données utiles et utilisables simplement... ( en faisant des jointures sur tes requêtes sql par exemple)..
20 mai 2023 à 15:25
Mon problème c’est que je n’arrive pas à boucler correctement et afficher ce que je veux :
« Album de xxx »
Photo1 de xxx
Les tags de la photo1 de xxx
Photo2 de xxx
Les tags de la photo2 de xxx
« Album de yyy »
Photo1 de yyy
Les tags de la photo1 de yyy
Il faut que je boucle sur mon tableau « tags » qui contient tous les tags créés ainsi que leur nom etc, mais aussi que je cherche dans les tags de la photoActuelle afin de trouver la référence de ses tags (je sais pas si c’est clair), je ne peux pas directement extraire le nom du tag depuis les tags de photoActuelle vu que je n’ai que les références des tags qu’elle contient, donc il faut que je compare à chaque fois les références et que, si la référence est la même, j’affiche le nom du tag.
J’imagine bien que ça doit ne doit pas être si compliqué que ça, mais j’ai pas l’habitude de faire des boucles en html et… je sais pas, je n’y arrive pas
Je suis pas sûr d’être très clair dis-moi si jamais tu comprends pas ^^
Merci beaucoup !