Какова принятая стратегия обеспечения того, чтобы модели, загруженные с сервера, а затем впоследствии измененные в пользовательском интерфейсе (то есть ExtJS) и отправляемые обратно на сервер, были сохранены правильно?ExtJS3 - предотвращение перезаписи неправильно загруженных моделей
Проблема, которую мы видим в приложении, заключается в том, что модели могут быть сохранены без надлежащей загрузки. Это может привести к сохранению незавершенных моделей.
например. на сервере модель имеет следующие свойства:
color: blue
size: 10
weight: 20
Пользователь загружает модель, и в процессе загрузки, когда пользователь изменяет
color: red
и сохраняет. В результате модель теряет свои вес и размеры на сервере. Обратите внимание, что это радикальное упрощение нашего сценария. Модели намного сложнее и объем данных намного больше.
Стратегии я могу думать:
- Убедитесь, все загружается, прежде чем позволить пользователям сохранять (безвкусный, я думаю).
- Следите за изменениями в модели, сохраняйте изменения. Это не требует полной загрузки модели, так как только те вещи, которые пользователь активно редактирует, сохраняются обратно на сервер (не знаю, поддерживается ли это в ExtJS из коробки).
Может кто-нибудь указать мне в правильном направлении? Мог ли Ext.data.Record.getChanges/isModified использоваться для реализации второго подхода? Как удаляются обработчики ExtJS?
Как только я прочитал, что прокси-модель модели предположила, что модель не была загружена, если у нее нет свойства id.У вас есть свойство id? –
Я действительно не знаю, так как в этом случае я не разработчик, а клиент. Но это поможет реализовать 1, а не 2, верно? –