Вопрос о новичках:
Контекст: создание списка покупок с основой
У меня есть класс модели, называемый свойствами name, description и tags (array). Я хотел бы создать два представления на основе этой модели или этой коллекции моделей.
В первом представлении будут отображаться все элементы, подобные этому:
<ul>
<li><h3>Item 1 Name</h3>
<p>Item 1 Description</p>
<p>Tag1, Tag2 ,Tag3</p>
</li>
.......
</ul>
Второе представление отобразит список тегов и количество помеченных элементов, таких как:
<ul>
<li>Tag1<span>{count of items tagged with tag1}</span></li>
<li>Tag2<span>{count of items tagged with tag2}</span></li>
<li>Tag3<span>{count of items tagged with tag3}</span></li>
</ul>
Я построил модель, коллекцию и представление для поддержки первого представления. Я хотел бы знать, как правильно использовать существующую модель (или создать новую модель?) Для создания второго представления.
Спасибо заранее...
существующая модель и коллекция элементов (разорвана из примера Todo.js)
window.Item = Backbone.Model.extend({
// Default attributes for a todo item.
defaults: function() {
return {
order: Items.nextOrder()
};
}
});
window.ItemList = Backbone.Collection.extend({
model: Item,
localStorage: new Store("items"),
nextOrder: function() {
if (!this.length) return 1;
return this.last().get('order') + 1;
},
comparator: function(item) {
return item.get('order');
}
});
UPDATE: несмотря на то, что переопределение метода parse() работает при показе имен тегов с количеством элементов, после добавления нового элемента мне не удалось обновить список имен тегов/элементов. Это может быть связано с тем, что представления отображаются из разных коллекций. Я попытаюсь расширить коллекцию ItemList и переопределить метод parse(). Любая помощь приветствуется.