Ember Data: отправка данных в хранилище не заменит измененные атрибуты записи? - PullRequest
0 голосов
/ 23 мая 2019

Я использую Ember Data, и у меня есть модель, скажем my-model.У меня есть сервер уведомлений в реальном времени для обновления моего приложения, если есть какие-либо изменения для записи.Когда я редактирую атрибут my-model из пользовательского интерфейса, модель имеет некоторое значение changedAttributes, а когда приходит уведомление в реальном времени, я извлекаю запись с сервера и отправляю ее в хранилище, используя store.push(store.normalize('my-model', data)).

Теперь в магазине модель все еще имеет мои измененные атрибуты и не заменяется.Поэтому я считаю, что Ember Store не заменит всю запись и заменит только чистые атрибуты записи, когда я сделаю store.push.Я просто хочу подтвердить поведение.Может ли кто-нибудь подтвердить, правильно ли мое понимание этого вопроса?

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Я написал небольшую Ember Twiddle для проверки этого поведения: https://ember -twiddle.com / a8eb87a1c7e5019214320d81af05aca5? OpenFiles = templates.application.hbs% 2C Как показывает, данные ember не сбрасываются грязные атрибуты, если запись снова помещается в хранилище - по крайней мере, не для протестированной версии 3.4.2, которая немного устарела.

Я не смог найти никаких тестов в хранилище ember-data , которое охватывает ваш случай использования, но я также не очень хорошо знаком с исходным кодом Ember Data. Так что вы можете открыть там проблему или спросить на Ember Community Discord или Ember Discussion Forum , если это ожидаемое поведение.

Если честно, я думаю, что должно быть прямое решение вашей проблемы, так как уведомление в режиме реального времени (например, через WebSocket) является распространенным вариантом использования.

1 голос
/ 24 мая 2019

Для чего-то подобного я думаю, что вам лучше всего добавить тест для определения самих данных, чтобы охватить желаемое поведение.Это будет гораздо надежнее, чем то, что вы можете услышать в Stackoverflow.

...