我刚刚学习js / backbonejs,我有一个简单的问题,请随时指示我复制。
我有一个Collection,我已经填充了它,我可以通过标准访问控制台:
collection1.at(1).get('name');
我还可以通过执行以下操作来遍历值:
for(vars i = 0; i < collection1.size(); i++)
{
console.log(collection1.at(i).get('name'));
}
我有四个按钮,可以看到它们和功能,当我点击它们时,它们正确地输出到控制台。当我点击Show all按钮时,我想显示集合中的每个模型及其拥有的数据(id,name,fame);
我将如何做到这一点?我知道我必须要有一个
<ul id = "gottaChangeThis"></ul>
我怎样才能添加这样的内容:
<li><%=id%><%=name%><%=fame%></li>
任何帮助或重定向都会有所帮助,谢谢
答案 0 :(得分:0)
基本架构可能包含一个接受您的Collection的Backbone.View。在渲染时,遍历集合中的Models,并为每个渲染一个不同的Backbone.View(呈现<li>
)并将其附加到父<ul>
元素。
作为替代方案,请考虑使用Marionette。它是一个Backbone框架/扩展,为您提供额外的对象,作为消除大量样板的手段。在您的情况下,您需要Marionette.CollectionView指定childView。这个childView可以是一个Marionette.ItemView,这样当你渲染CollectionView时,它会自动实例化并为你的Collection中的每个Model渲染一个childView。