Мне комфортно с функцией comparator
в Backbone.Collection
, и мне также нравится идея сортировки коллекции, а затем перерисовка всего объекта из представления. Однако я не ищу этого здесь.Повторно вставить модель в вид сортированной коллекции после редактирования
У меня есть коллекция, которая была отсортирована (при загрузке). Один вид прослушивает сборник и отвечает за его повторение через «сброс». У моделей коллекции есть свое представление. Здесь нет ничего необычного.
Однако пользователь может редактировать каждую модель в строке, что потенциально может изменить значение атрибута, включенного в функцию компаратора. Очевидно, что одним из решений было бы просто очистить представление всей коллекции, повторно отсортировать коллекцию и затем перерисовать все представления моделей. Но я бы хотел избежать этого, если это возможно.
В идеале, я должен иметь возможность удалить измененную модель из представления коллекции, а затем снова вставить ее в новое, соответствующее положение в виде коллекции (так что я делаю только одно удаление DOM и одно дополнение DOM - вместо очистки, а затем перерисовки всей коллекции моделей). Я мог бы, конечно, сделать это вручную, без какой-либо помощи позвоночника, но я подумал, что спрошу, есть ли какие-либо черты позвоночника, которые могли бы сделать его проще или, по крайней мере, более упорядоченным. Выполнение этого полностью вне позвоночника кажется взломом, и оно не будет выглядеть красиво.
Я не совсем понимаю ваш вопрос, но что вы подразумеваете под «очистить всю коллекцию»? Почему вы не можете вызывать 'sort' в коллекции, когда ваш признанный атрибут изменяется и прослушивает событие' sort' в вашем представлении коллекции и вызывает 'render'? – fbynite
Я отредактировал вопрос, чтобы попытаться сделать его более понятным. Это действительно проблема с представлением, а не проблема сбора/сортировки. Очевидно, я не смог объяснить себя должным образом. Надеюсь, теперь это лучше. – EleventyOne
Итак, вы спрашиваете об изменении порядка сортировки элементов DOM? – kinakuta