Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Параметр silent для методов set/update #9

Closed
antipin opened this issue Jul 19, 2013 · 4 comments
Closed

Параметр silent для методов set/update #9

antipin opened this issue Jul 19, 2013 · 4 comments

Comments

@antipin
Copy link

antipin commented Jul 19, 2013

Часто бывает необходимо изменить состояние модели без вызова соответствующих событий (add/change/update).

Подобная опция реализована в backbone (пример: http://backbonejs.ru/#Model-set)

@dosyara
Copy link
Member

dosyara commented Jul 19, 2013

В том же backbone написано, что это не безопасная функциональность и лучше ее не использовать.
Можешь привести примеры, когда без этого действительно никак?

@antipin
Copy link
Author

antipin commented Jul 19, 2013

К примеру, блок слушает на model-list-е события add/remove и соотв. отрисовывает/удаляет некие элементы.
Далее мы сохраняем модель на сервер, получаем ответ с JSON-ом модели (modelData) и делаем для надежности model.update(modelData);
При этом на каждый элемент коллекции срабатывает add и элементы в интерфейсе задваиваются.

Если сделать silent update, то получим то, что нужно.

С другой стороны, поведение, когда на коллекции при update триигерится куча add-ов мне тоже кажется неверным. Удобнее было бы, опять же как в пресловутом бэкбоне, при массовой переналивке коллекции триггерить, скажем, одни раз reset.

@dosyara
Copy link
Member

dosyara commented Jul 19, 2013

Спасибо, посмотрим как можно решить эти проблемы. Возможно, введем silent

@dosyara dosyara closed this as completed Oct 7, 2015
@dosyara
Copy link
Member

dosyara commented Oct 7, 2015

silent вводить так и не решили, может подумаем в сторону "транзакций" #109

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants