Например, пишем простой чат. Есть App, в нем есть в объект со списком юзеров, есть объект со списком мессаджей, профайл. Сейчас код выглядит примерно так:
var app = new Vue({
el: '#app',
data: {
users: {
list: [
{id: '123', name: 'Vasya'}
]
},
messages: {
list: [
{datetime: '', text:''}
]
},
profile: {
name: 'Petrov',
email: 'petrov@sidorov'
}
},
methods: {
usersAdd: function () { /* some code */},
usersRemove: function () { /* some code */},
usersUpdate: function () { /* some code */},
usersSomeOtherMethod: function() { /* some code */},
messagesAdd: function () { /* some code */},
messagesRemove: function () { /* some code */},
messagesUpdate: function () { /* some code */},
profileUpdate: function () { /* some code */},
profileSave: function () { /* some code */},
profileSomeOtherMethod: function() { /* some code */},
}
});
Можно ли как то структурировать код в 3 логические модельки и работать с ними, а не с методами в глобальном скоупе?
Как сделать код более ООПшным, чтобы писать типа
this.profile.update();
с сохранением реактивности?