Авто-рендеринг в Ampersand.js

У меня есть основной вид приложения, который имеет 2 подпредставления. Каждое подпредставление имеет свою собственную коллекцию, переданную ему.

Одна из этих коллекций обновляется во время путешествия пользователя. Но связанное с этим подпредставление не обновляется.

Как я могу сделать вид повторно визуализировать после обновления коллекции?

1 ответ

Решение

Как я понимаю, вы рендерите несколько предметов, каждый из которых соответствует одной модели в вашей коллекции. В этом случае, чтобы воспользоваться динамической вставкой / удалением соответствующих элементов, вы должны использовать renderCollection как это в вашем подпредставлении:

render: function(){
    this.renderWithTemplate(this);
    this.renderCollection(this.collection, ItemView, this.el.querySelector('SELECTOR'));
    return this;
}

Здесь ItemView является представлением, которое соответствует одной модели в коллекции (это конструктор, а не созданное представление). С этой точки зрения у вас есть доступ к this.model и в этом представлении вы можете определить любые привязки и события, которые вы можете захотеть. Для более подробной информации ознакомьтесь с официальной документацией.

Другие вопросы по тегам