Я пытаюсь обновить свою модель с помощью WebSocket, я сделал это в следующем виде:Как обновить модель через WebSocket?
socket.on('message', function (jsonObj) {
if (jsonObj.action && jsonObj.action == 'consultationReload')
{
self.store.all('consultation').forEach(function(c) {
if (c.get('id') == jsonObj.consultationId) {
c.reload();
}
});
return;
}
Но c.reload()
делает запрос к API. И я думаю, что это дополнительный запрос, который я мог бы прикрепить эти данные к сообщению из websocket. Но вопрос в том, как перезагрузить модель этими данными json из websocket?
Я попытался это, но консультации модель вместе с моделью пользователя и модели Records. И 'c.reload()' обновляет все объединенные модели, но 'push' обновляет только модель консультаций. Так мне нужно называть 'push' для каждой модели? – Dmitro
Если у вас есть записи другой модели – Kingpin2k
'this.store.pushPayload ('consult', jsonObj.consultationData);' Это работает для меня. Но у меня есть еще один вопрос, если я хочу обновить только модель User, как мне нужно сообщить объединенной модели консультаций, что модель User была обновлена? Потому что я пытался сделать 'this.store.push ('user', userData);' и когда я пытаюсь попасть в модель консультаций 'this.get ('user.status')' для вычисления некоторого свойства, я получаю старое значение Статус пользователь – Dmitro