В ExtJS, лучше ли вызывать Model.save() или Store.Sync()?
И каковы последствия каждого из них?
Я вижу, что Model.save(), например, автоматически обновляет модель с результатами от сервера. Я не уверен, что делает sync().
Ответ 1
автоматически обновляет модель с результатами с сервера
Store.sync() обновляет измененные записи (при условии, что вы правильно настроили ответ сервера).
Итак, технически оба метода делают то же самое. Однако, на мой взгляд, вы можете использовать Model.save() только в одном случае: когда у вас нет store. Зачем? Потому что, когда у вас есть хранилище и тем не менее вы используете Model.save(), это означает, что у вас есть настройка подключения (прокси) для store и model. И это означает, что у вас есть дублированный код, который потенциально сложнее поддерживать.
Итак, чтобы суммировать, вы используете Model.save(), только если вы используете автономную модель, без сохранения (это может быть, когда у вас есть form, который не подключен к какой-либо сетке. вы создаете автономную модель для такой формы), и вы используете Store.sync() в других случаях.