我有一个看起来像这样的模型
collection=
{
foo:[ [1,1], [2,2], [3,3] ]
bar: [ [1,1], [2,2], [3,3] ]
}
我通过这样做将其渲染出来以在主干中查看:
template: JST["backbone/templates/first"]
collection.each (data) ->
foo = data.attributes.foo
bar = data.attributes.bar
for foos in foo
view = new Traveltime.Views.ViewExtractTimeList(model: foos)
$('ul.listcontainer').append(view.render().el)
for bars in bar
console.log perce
view = new Traveltime.Views.ViewExtractPercentList(model: bars)
$('ul.2ndlistcontainer').append(view.render().el)
模板优先:
<ul class="listcontainer">
</ul>
<ul class="2ndlistcontainer">
</ul>
然后我有另外 2 个视图,每个视图处理一个单独的 tempate:
class App.Views.ViewExtractFoo extends Backbone.View
tagName: "li"
template: JST['backbone/templates/foo']
render: ->
$(@el).html(@template(content: @model))
this
class App.Views.ViewExtractBar extends Backbone.View
tagName: "li"
template: JST['backbone/templates/bar']
render: ->
$(@el).html(@template(content: @model))
this
模板看起来像这样(交换 foo 为 bar 为 bar 示例):
<li>
Foo: <%=content.attributes.foo%>
</li>
现在这行得通,而且效果很好。但感觉真的很乱。我在 Rails 中使用主干,所以有 6 个或更多不同的文件只需接受 JSON 请求并呈现它。感觉很恶心,还有更好的方法。我只是不确定它是哪一个。
我只是在想,如果我在 Rails 中做到这一点,我可以有一个可以将这一切都拉出来的视图!?
我可以使用 collection.each 并以某种方式将嵌套集合传递给模板吗?
有点卡在这里,我绝不擅长这个,所以任何帮助都会得到很大的帮助。