Авто-рендеринг в Ampersand.js
У меня есть основной вид приложения, который имеет 2 подпредставления. Каждое подпредставление имеет свою собственную коллекцию, переданную ему.
Одна из этих коллекций обновляется во время путешествия пользователя. Но связанное с этим подпредставление не обновляется.
Как я могу сделать вид повторно визуализировать после обновления коллекции?
1 ответ
Как я понимаю, вы рендерите несколько предметов, каждый из которых соответствует одной модели в вашей коллекции. В этом случае, чтобы воспользоваться динамической вставкой / удалением соответствующих элементов, вы должны использовать renderCollection
как это в вашем подпредставлении:
render: function(){
this.renderWithTemplate(this);
this.renderCollection(this.collection, ItemView, this.el.querySelector('SELECTOR'));
return this;
}
Здесь ItemView является представлением, которое соответствует одной модели в коллекции (это конструктор, а не созданное представление). С этой точки зрения у вас есть доступ к this.model
и в этом представлении вы можете определить любые привязки и события, которые вы можете захотеть. Для более подробной информации ознакомьтесь с официальной документацией.