Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Backbone как вывести номер модели (https://javascript.ru/forum/library-toolkit-framework/31573-backbone-kak-vyvesti-nomer-modeli.html)

beard 13.09.2012 00:06

Backbone как вывести номер модели
 
Здравсвтуйте!

Подскажите как правильно решить такую задачу в бэкбоне.

У меня есть 10 моделей которые я отрисовал и они уже в документе.
Model
Model
Model
....

Мне нужно вывести порядковый номер модели т.е.
Model 1
Model 2
Model 3
...

Дальше элементы нужно удалять например удалили Model 2
Model 1
Model 3
...

Как я правильно должен сделать перерисовку номера модели. Когда удаляется модель она удаляется полностью т.е. и из DOM и из коллекции.


Я вижу это так, осталось понять насколько это правильно:
1) При создании модели делать новое поле которое будет хранить номер модели.
2) Для отрисовки вставить его в шаблон т.е. я выведу это значение.
3) После удалении модели перебирать все модели и переписать значения номера на актуальный номер. Сразу же перерисовать все модели. или повешать change событие на номер и автоматом перерисовать модель и рефрешить в DOM.
Насколько это правильно?

Как решить подобную задачу?

ssnikolay 13.09.2012 21:31

А в чем смысл переотрисовывать оставшиеся модели? Удаление одной разве влечет какие то серьёзные последствия для остальных? Или хочешь что бы удалив модель 2 порядок все равно сохранился, т.е. 1, 2, 3..но теперь не до 10, а до 9?
P.S. под моделями подразумеваешь именно 10 разных (!) моделей\сущностей, или 10 объектов одной модели?

beard 13.09.2012 22:40

Да именно, мне всего лишь нужно для нумерации
10 разных, т.е. в колекции 10 моделей

ssnikolay 17.09.2012 18:39

beard, ну если я тебя правильно понял, то ход твоих мыслей по решению задачи верен. Ты наверно считаешь что выглядит не много сумбурно, но на мелких задачах backbone в основном себя так и ведет...

beard 17.09.2012 22:39

Я так и сделал - работает как раз как мне надо. Пока лучше способа не видал :)


Часовой пояс GMT +3, время: 22:50.