Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
<template>
<div class="scroll-container messages-container">
<ul class="messages">
<li>
<div class="text-center">
<span ng-show="isLoading == true">
<span class="fa fa-refresh fa-spin fa-lg"></span>
</span>
<span ng-show="isLoading == false">
<button class="ui mini button" ng-click="loadMoreMessages()">voir plus de messages</button>
</span>
</div>
</li>
<message v-for="message in sortedMessages" :message="message"></message>
</ul>
</div>
</template>
<style>
// du CSS pas utile
</style>
<script>
import Message from './message.vue'
import {conversationById, conversationMessages} from 'src/vuex/getters'
export default {
components: {
Message
},
props: [ 'conversation-id' ],
vuex: {
getters: {
conversation : conversationById,
messages : conversationMessages
}
},
computed: {
sortedMessages () {
return this.messages
.slice()
.sort((a, b) => a.timestamp - b.timestamp)
}
}
}
</script>
Ce que je veux
J'aimerais récupérer la conversation qui est dans le state. Pour ça j'ai l'ID contenu dans la variable conversationId.
Mais les getters ne sont pas prévues pour ça. Comment est ce que je peux faire pour obtenir la conversation (et les messages contenues dedans) à partir de l'id ?
Edit :
Les conversations sont stockés de cette façon :
conversations : {
1 : {
id: 1,
messages : [
// des messages
],
name: "nom"
}
}