我有一个无限滚动的页面。页面最初会加载3个标签。每个部分包含3个产品图像(不仅仅是图像,还有产品信息)从我的数据库中拉出。下划线模板如下所示:
<section>
<div class='left'>
<img src="{{ product.src }}" />
</div>
<div class='right'>
<div class='top'>
<img src="{{ product.src }}" />
</div>
<div class='bottom'>
<img src="{{ product.src }}" />
</div>
</div>
</section>我在思考如何渲染它时遇到麻烦。我在想一个产品可能是一个Backbone Model:
var ProductModel = Backbone.Model.extends({
defaults: {
src: '',
title: 'Product'
brand: 'ABC'
}
});然后下一部分我就被卡住了。在我看来,集合就像数据列表。然而,在这个场景中,我不想显示整个产品列表,我只想要3个产品。那么视图又如何呢?视图应该一次渲染所有3个图像,还是应该一次渲染一个图像(就像调用render 3次)?请记住,我仍然需要渲染其他两个部分(它们都显示不同的产品)。
我应该控制我的HTTP GET调用一次只响应3个图像,还是应该让它返回所有产品?
有没有人可以帮我或者给我举一些类似用例的例子。
发布于 2012-12-04 18:55:04
你应该有一个产品的集合,一个产品的模型,一个页面的视图,然后是每个产品的视图。其思想是从页面视图中获取一个集合,然后循环通过它来呈现每个Product。
拥有每个产品的视图的好处是,您可以轻松地为每个产品分配事件(如单击事件)。
从HTTP get获得的图像数量取决于使用情况和开销。您可能需要考虑在API中添加一个变量,以便应用程序控制您在回复中获得的图像数量。
看看这个包含无限滚动和主干的example。
https://stackoverflow.com/questions/13691269
复制相似问题