2015-07-03 2 views
-1

Я просто изучаю js/backbonejs, и у меня есть простой вопрос, пожалуйста, не стесняйтесь направлять меня в дубликат.Добавление коллекции в ul в backbonejs

У меня есть коллекция, я заселена, и я могу получить доступ к нему в консоли, делая стандарт:

collection1.at(1).get('name'); 

Я могу также перебрать значения, выполнив:

for(vars i = 0; i < collection1.size(); i++) 
{ 
console.log(collection1.at(i).get('name')); 
} 

У меня есть четыре кнопки, и у них есть виды на них и функции, которые правильно выводят что-то на консоль, когда я нажимаю на них. Когда я нажимаю кнопку «Показать все», я хочу отображать каждую модель в коллекции вместе с данными, которые она имеет (id, name, fame);

Как я могу это сделать? Я знаю, что я должен иметь

<ul id = "gottaChangeThis"></ul> 

Как бы я быть в состоянии добавить что-то вроде этого к нему:

<li><%=id%><%=name%><%=fame%></li> 

Любая помощь или перенаправление было бы полезно, спасибо

+0

Было бы лучше, если бы вы могли создать быструю скрипку, другой человек может занять оттуда и дать ответ. Благодарю. – Ashok

ответ

0

Базовая архитектура может включать Backbone.View, который принимает вашу коллекцию. В режиме рендеринга, итерации по Модели в коллекции, и для каждого визуализируйте другой Backbone.View (для рендеринга <li>) и добавьте его в родительский элемент <ul>.

В качестве альтернативы рассмотрите возможность использования Marionette. Это основа/расширение Backbone, которая дает вам дополнительные объекты в качестве средства для устранения большого количества шаблонов. В вашем случае вам понадобится Marionette.CollectionView с указанным childView. Этот childView может быть Marionette.ItemView, так что при рендеринге CollectionView он автоматически создает экземпляры childView для каждой модели в вашей коллекции.

Смежные вопросы