Я создал систему обмена сообщениями с vue и внутренним интерфейсом laravel, и я хочу сгруппировать сообщения, которые являются моими (Джим, человек, в котором я в настоящее время вошел в систему) справа в синем и Дебби (пользователь I ').я разговариваю с) слева желтым, используя flexbox.Например, Facebook или Twitter:
Ложный вывод JSON
{
"0": {
"name": "Debbie",
"message": "Good, Thinks for asking."
},
"1": {
"name": "Jim",
"message": "I'm good, how are you?"
},
"2": {
"name": "Debbie",
"message": "How are you?"
},
"3": {
"name": "Jim",
"message": "Hi Debbie"
},
"4": {
"name": "Debbie",
"message": "Hi Jim"
}
}
Что мне нужно будет отправить через мой JSON API, чтобы идентифицировать себя по любому другому пользователю и их сообщениям?Или есть способ, которым я мог бы сделать это без необходимости делать это без изменения вывода JSON?
Как бы я внедрил это в эту систему обмена сообщениями, которую я построил , используя flexbox?Основным компонентом, с которым я работаю, является компонент разговорных сообщений:
Vue.component('conversation-messages',{
template: '#conversation-messages',
props: ['conversationId'],
data: function() {
return {
messages: [],
url: ''
}
},
mounted() {
console.log("message mounted")
this.getOldMessages(this.conversationId);
},
});
Вот ссылка на этот вопрос, на который отвечают только с использованием css.
ОтCSS-ссылка о том, как создать систему пузыря чата, например, FB
Пример структуры HTML из ссылки с использованием плавающих, а не Flexbox
<ul>
<li class="him">By Other User</li>
<li class="me">By this User, first message</li>
<li class="me">By this User, secondmessage</li>
<li class="me">By this User, third message</li>
<li class="me">By this User, fourth message</li>
</ul>
Пример CSS из ответаВ ссылке
ul{
list-style: none;
margin: 0;
padding: 0;
}
ul li{
display:inline-block;
clear: both;
padding: 20px;
border-radius: 30px;
margin-bottom: 2px;
font-family: Helvetica, Arial, sans-serif;
}
.him{
background: #eee;
float: left;
}
.me{
float: right;
background: #0084ff;
color: #fff;
}
.him + .me{
border-bottom-right-radius: 5px;
}
.me + .me{
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.me:last-of-type {
border-bottom-right-radius: 30px;
}