J'ai 2 composants: Post
et Comments
.
À l'intérieur du composant Post, il y a le composant Commentaires qui a 3 accessoires: postId
, numCom
(nombre de commentaires) et comments
(tableau).
Je reçois des commentaires et je passe le tableau avec des accessoires, et maintenant je veux récupérer le tableau dans le composant Commentaires et l'ajouter aux données afin que je puisse ensuite ajouter/supprimer des commentaires, etc.
Voici mon code en Comments.vue
:
props: ['id', 'numCom', 'comments'],
data: function() {
return {
newMessage: "",
loading: false,
allComments: this.comments,
num: this.numCom,
}
},
Mais cela ne fonctionne pas. Dans Vue outils de développement, je peux voir que comments
prop est rempli de commentaires, mais que le tableau allComments
est vide.
Que devrais-je faire?
Il semble que l'accessoire comments
n'ait pas de valeur au moment de la création du composant (qui est le seul moment où allComments
sera défini).
Vous pouvez soit:
comments
soit prête en utilisant v-if
comme ça:<comments v-if="comments" :comments="comments"></comments>
comments
et définissez allComments
sur la nouvelle valeur (en plus d'initialiser allComments
dans la fonction de données):watch: {
comments(value) {
this.allComments = value;
}
}